zoukankan      html  css  js  c++  java
  • docker(三) 镜像和容器常用命令

    一、镜像操作

    1.搜索镜像

    可以直接在Docker Hub 直接搜索镜像,当然也可以使用命令来搜索。 

    docker search 名称

    docker search tomcat

    2.拉取镜像

    docker pull 镜像名

    #拉取redis3.0
    docker pull redis:3.0

    3.查看镜像列表

    Docker镜像保存在/var/lib/docker

    docker images
    docker images -a
    docker images -q(显示id)

    4.删除镜像

    docker rmi 镜像名

    #删除hello-world镜像
    docker rmi hello-world
    
    #强制删除有容器依赖的镜像
    docker rmi -f hello-world

    二、容器操作

    1.创建容器

    ①docker create

    可以先通过docker create创建容器,再通过docker start启动

    ②docker run

    创建并启动容器(运行时容器)

    docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

    [OPTIONS]:

    • -d: 后台运行容器,并返回容器ID;  
    • --name="xx": 为容器指定一个名称;
    • -i:以交互模式运行容器,通常与 -t 同时使用
    • -t:为容器分配虚拟终端,允许发信号给容器。tty
    • -P: 随机端口映射;
    • -p: 指定端口映射,有以下四种格式

    例子:

    # 基于最新版redis镜像创建容器,命名为myredis,将主机的16379端口映射到容器内的6379端口。
    docker create --name myredis -p 16379:6379 redis:latest

    2.列出容器

    docker ps [OPTIONS]

    [OPTIONS]:

    • -a:显示所有容器,包括未运行的
    • -l:显示最近创建的容器
    • -n:显示最近创建的n各容器

    3.启动/停止/重启容器

    docker start 容器ID/容器名
    docker stop  容器ID/容器名
    docker restart 容器ID/容器名

    4.删除容器

    #删除容器
    docker rm 容器ID/容器名
    
    #强制删除运行中的容器
    docker rm -f 容器ID/容器名
    • -f :强制删除运行中的容器
    • -l :移除容器间的网络连接,而非容器本身
    • -v :删除与容器关联的卷

    5.在运行的容器中执行命令

    docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

    例子:

    #进入到redis容器中,并开启一个交互模式的终端
    docker exec -it redis /bin/bash
    
    #在容器mynginx中以交互模式执行容器内/root/runoob.sh脚本
    docker exec -it mynginx /bin/sh /root/runoob.sh

    使用ctrl + d退出容器

    6.查看容器的日志

    docker logs 容器

    Options:

    • -f, 跟踪日志输出
    • -t, 显示时间戳
    docker logs -f redis

    三、上传镜像到阿里云镜像仓库

    可以将本地镜像上传到Docker Hub上,也可以上传到其它服务器,例如阿里云镜像仓库。上传到hub上太慢了,这里选择上传到阿里云镜像仓库中。

    可以参考阿里云官网的教程:上传本地镜像

    1.先要有阿里云账号,登录容器镜像服务控制台

    2.设置阿里云 Docker registry 登录密码

    如果是首次访问,系统会提示您进行初始化设置。设置您的登录密码,并单击确定。

    3.创建命名空间。

    4.创建镜像仓库。

          

    接下来可以进入管理,查看具体的操作指南

    5.执行Docker登录命令,并输入密码。

    sudo docker login --username=阿里云用户名 registry.cn-beijing.aliyuncs.com

    6.重命名镜像。

    • 如果您本地的镜像是通过构建生成的,构建过程中需要指定 tag 信息。
    $ sudo docker tag [镜像id] registry.cn-beijing.aliyuncs.com/命名空间/仓库:[镜像版本号]
    • 如果您本地的镜像是从其它仓库下载的,已有了 registry 名、命令空间、仓库名和 tag 名称,上传到阿里云 registry 之前需要执行 Docker tag 命令进行修改。
    [root@localhost application]# docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    hello-world         latest              4ab4c602aa5e        2 months ago        1.84kB
    [root@localhost application]# sudo docker tag 4ab4c602aa5e registry.cn-hangzhou.aliyuncs.com/lp_namespace/helloworld:helloworld-1.0

    7.上传镜像到阿里云 Docker registry。

    sudo docker push registry.cn-hangzhou.aliyuncs.com/lp_namespace/helloworld:helloworld-1.0

     

    8. 从Registry中拉取镜像

    $ sudo docker pull registry.cn-hangzhou.aliyuncs.com/lp_namespace/helloworld:hello-world-1.0

    更多详情请参考阿里云官网的教程:上传本地镜像

  • 相关阅读:
    osds have slow requests
    supervisor 管理 celery
    guacamole部署
    openstack IPV6
    修复VSAN无法看到主机磁盘
    kolla之docker私有仓库创建
    CSS日食与太阳碰撞
    vue-devtools必备工具
    VUE在BODY上绑定enter事件
    VUE输入框显示时自动聚焦
  • 原文地址:https://www.cnblogs.com/rouqinglangzi/p/9906515.html
Copyright © 2011-2022 走看看