写点什么

Docker 镜像使用

  • 2022-11-09
    河南
  • 本文字数:1765 字

    阅读完需:约 6 分钟


列出镜像列表

docker images
复制代码


各个选项说明:


  • **REPOSITORY:**表示镜像的仓库源

  • **TAG:**镜像的标签

  • **IMAGE ID:**镜像 ID

  • **CREATED:**镜像创建时间

  • **SIZE:**镜像大小

获取一个新的镜像

docker pull 镜像名:版本号
复制代码

查找镜像

docker search 镜像名
复制代码


NAME: 镜像仓库源的名称


DESCRIPTION: 镜像的描述


OFFICIAL: 是否 docker 官方发布


stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。


AUTOMATED: 自动构建。

删除镜像

docker rmi 镜像名
复制代码

创建镜像

  • 1、从已经创建的容器中更新镜像,并且提交这个镜像

  • 通过创建容器,提交镜像


  docker commit    例子:  docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2  sha256:70bf1840fd7c0d2d8ef0a42a817eb29f854c1af8f7c59fc03ac7bdee9545aff8  各个参数说明:        -m: 提交的描述信息        -a: 指定镜像作者        e218edb10161:容器 ID        runoob/ubuntu:v2: 指定要创建的目标镜像名
复制代码


  • 2、使用 Dockerfile 指令来创建一个新的镜像

  • 构建镜 像


  • 我们使用命令 docker build , 从零开始来创建一个新的镜像。为此,我们需要创建一个 Dockerfile 文件,其中包含一组指令来告诉 Docker 如何构建我们的镜像。


  runoob@runoob:~$ cat Dockerfile   FROM    centos:6.7  MAINTAINER      Fisher "fisher@sudops.com"    RUN     /bin/echo 'root:123456' |chpasswd  RUN     useradd runoob  RUN     /bin/echo 'runoob:123456' |chpasswd  RUN     /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local  EXPOSE  22  EXPOSE  80  CMD     /usr/sbin/sshd -D
复制代码


每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的。


第一条 FROM,指定使用哪个镜像源


RUN 指令告诉 docker 在镜像内执行命令,安装了什么。。。


然后,我们使用 Dockerfile 文件,通过 docker build 命令来构建一个镜像。


  runoob@runoob:~$ docker build -t runoob/centos:6.7 .  Sending build context to Docker daemon 17.92 kB  Step 1 : FROM centos:6.7   ---> d95b5ca17cc3  Step 2 : MAINTAINER Fisher "fisher@sudops.com"   ---> Using cache   ---> 0c92299c6f03  Step 3 : RUN /bin/echo 'root:123456' |chpasswd   ---> Using cache   ---> 0397ce2fbd0a  Step 4 : RUN useradd runoob  ......
复制代码


参数说明:


  • -t :指定要创建的目标镜像名

  • . :Dockerfile 文件所在目录,可以指定 Dockerfile 的绝对路径


使用 docker images 查看创建的镜像已经在列表中存在,镜像 ID 为 860c279d2fec


  runoob@runoob:~$ docker images   REPOSITORY          TAG                 IMAGE ID            CREATED              SIZE  runoob/centos       6.7                 860c279d2fec        About a minute ago   190.6 MB  runoob/ubuntu       v2                  70bf1840fd7c        17 hours ago         158.5 MB  ubuntu              14.04               90d5884b1ee0        6 days ago           188 MB  php                 5.6                 f40e9e0f10c8        10 days ago          444.8 MB  nginx               latest              6f8d099c3adc        12 days ago          182.7 MB  mysql               5.6                 f2e8d6c772c0        3 weeks ago          324.6 MB  httpd               latest              02ef73cf1bc0        3 weeks ago          194.4 MB  ubuntu              15.10               4e3b13c8a266        5 weeks ago          136.3 MB  hello-world         latest              690ed74de00f        6 months ago         960 B  centos              6.7                 d95b5ca17cc3        6 months ago         190.6 MB  training/webapp     latest              6fae60ef3446        12 months ago        348.8 MB
复制代码


我们可以使用新的镜像来创建容器


  runoob@runoob:~$ docker run -t -i runoob/centos:6.7  /bin/bash  [root@41c28d18b5fb /]# id runoob  uid=500(runoob) gid=500(runoob) groups=500(runoob)
复制代码


从上面看到新镜像已经包含我们创建的用户 runoob。

设置镜像标签

docker tag 镜像ID 用户名称/镜像源名:标签名
复制代码


发布于: 刚刚阅读数: 4
用户头像

还未添加个人签名 2022-11-01 加入

还未添加个人简介

评论

发布
暂无评论
Docker 镜像使用_Docker_我是一个茶壶_InfoQ写作社区