docker学习笔记11:Dockerfile指令CMD介绍
我们知道,通过docker run创建并启动一个容器时,命令的最后可以指定容器启动后在容器内立即要执行的指令,如:
docker run -it ubuntu /bin/bash //表示容器启动时立即在容器内容打开一个shell终端内立即要执行的指令
docker run ubuntu /bin/ps //表示容器启动后立即运行 /bin/ps命令,显示容器的当前进程
除了这种方式外,我们可以在Dockerfile文件中通过CMD指令指定容器启动时要执行的命令。如:
#test
FROM ubuntu
MAINTAINER xxx
RUN echo hello1 > test1.txt
RUN echo hello2 > /test2.txt
EXPOSE 80
EXPOSE 81
CMD ["/bin/bash"]
上面dockerfile文件中最后一行CMD指令的参数是指定容器启动时要执行的命令,这里是bin/bash命令。
- 用docker run命令创建并启动容器(myimage 是用前面dockerfile创建的镜像的名称):
docker run -it myimage
上面命令是创建并启动容器,打开一个交互式shell。而以前的写法是
docker run -it myimage /bin/bash
这样就省去了docker run中写命令了。