centos8+docker系列之二——镜像image操作

承接上文:centos8.0下docker安装

查看帮助

docker image --help

查看image列表

sudo docker image ls

显示:

REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    feb5d9fea6a5   6 months ago   13.3kB

说明本地仓库有hello-world镜像。

拉取镜像

sudo docker pull hello-world:latest

拉取后可以查看镜像详细信息:

sudo docker image inspect hello-world

创建容器

  1. 拉取一个镜像busybox:

    sudo docker pull busybox:latest
    
  2. 使用该镜像创建一个容器

    sudo docker container create -it --name boy busybox:latest
    

    -t:让docker分配一个伪终端并绑定到容器的标准输入上, -i:以交互模式运行容器。更多的参数解释 会在本系列后文发布。-it是二者的缩写。

    docker container:表示使用docker的容器命令,通过docker container --help可以查看针对容器的所有命令。

    create:创建容器。

    –name:命名容器,后面的“boy”为容器名,busybox:latest表示容器是基于哪个镜像创建。

  3. 查看创建的容器

    sudo docker container ls -a
    
  4. 删除镜像

    当镜像已经被用来制作成容器,直接用rm删除镜像,会提示无法删除。提示内容如下:

    Error response from daemon: conflict: unable to remove repository reference "busybox:latest" (must force) - container 31ba1900ec20 is using its referenced image beae173ccac6
    

    此时,可以选择关闭容器,然后删除容器,再删除镜像。也可以选择强制删除镜像:

    sudo docker image rm -f busybox:latest
    
  5. 镜像的导出与导入

    为busybox镜像保存备份:

      sudo docker image save busybox:latest >bs.tar
    

    保存后,查看保存的文件,输入:

     ll
    

    使用scp命令可以拷贝镜像文件,然后用load命令导入镜像,本次没有模拟环境,暂不尝试。

    这两个命令便于镜像的转移和保存。

  6. 启动容器

    sudo docker container start boy
    
  7. 进入容器

    sudo docker container attach boy
    

    进入后,可以查看容器一系列参数:

    hostname:名称
    ifconfig:ip相关的参数
    route:网关
    cat /etc/resolv.config:查看dms
    ping www.baidu.com:查看能不能ping通,连接网络
    echo $PATH:查看容器当前地址
    
  8. 容器转换为镜像

    为boy容器保存备份:

    sudo docker container export boy>bs1.tar
    

    第五步提到的,是对镜像进行保存和导入,使用的命令是save和load。
    这里是在镜像的基础上,生成容器后,对容器进行备份,生成了一个对应的镜像。使用的命令是export 和import。
    导入备份:

    sudo docker image import bs1.tar
    

    执行上述命令后,得到的镜像是没有名称和标签的。导入时设置名称和标签:

    sudo docker image import bs1.tar busybox_self:self 
    

    一般很少使用这两个命令,更常用的commit,将容器提交为镜像
    有任何问题,学习交流,请关注公众号(qianduandaoquanzhai)留言,联系作者


版权声明:本文为zjsj_lize原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。