下面分为三个步骤来讲解该实例,该实例将创建一个简单的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 /]$