下面分为三个步骤来讲解该实例,该实例将创建一个简单的Dockerfile文件,然后根据该Dockerfile文件构建镜像,最后使用镜像运行一个容器。
dockerfile文件内容如下:
# 继承centos镜像 FROM centos # 运行 echo 命令,输出 “hello dockerfile” 字符串 RUN echo "Hello Dockerfile." # 容器启动时执行该命令 CMD /bin/bash
该实例非常简单,在构建容器时输出一个字符串“hello dockerfile”。
通过 docker build -f ./Dockerfile1 -t myimage . 命令构建镜像。其中,-f 用来指定你的 Dockerfile 文件路径;-t 用来指定创建镜像的名称;运行过程如下:
$ docker build -f ./Dockerfile1 -t myimage . Sending build context to Docker daemon 143MB Step 1/3 : FROM centos latest: Pulling from library/centos 8ba884070f61: Pull complete Digest: sha256:a799dd8a2ded4a83484bbae769d97655392b3f86533ceb7dd96bbac929809f3c Status: Downloaded newer image for centos:latest ---> 9f38484d220f Step 2/3 : RUN echo "Hello Dockerfile." ---> Running in 78d2be427ebf Hello Dockerfile. Removing intermediate container 78d2be427ebf ---> 4acdc0718c62 Step 3/3 : CMD /bin/bash ---> Running in 2ba3fb512b36 Removing intermediate container 2ba3fb512b36 ---> 5cc4f82540cf Successfully built 5cc4f82540cf Successfully tagged myimage:latest
如果你能看见“uccessfully built 5cc4f82540cf”,则说明构建成功了,且镜像的ID为“5cc4f82540cf”。我们可以使用“docker iamges”去查看我们刚刚构建的镜像。如下:
$ docker images myimage REPOSITORY TAG IMAGE ID CREATED SIZE myimage latest 5cc4f82540cf 3 minutes ago 202MB
使用“docker run -it 镜像名称”命令运行镜像。如下:
# 宿主机 [root@localhost ~]$ docker run -it myimage # 容器内部的Linux [root@4f4e48909628 /]$ ls anaconda-post.log bin dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var [root@4f4e48909628 /]$