dockerFile 基本命令

97 阅读1分钟

需求:

通过dockerfile,构建nginx镜像,且运行容器后,生成的页面,是“小白菜玩转docker”。

1.创建Dockerfile文件:

vim Dockerfile

2.编写Dockerfile脚本:

FROM nginx
RUN echo 'hello dockerfile!'

3.编译脚本:

docker build .

4.通过docker images查看到新的镜像

5.修改镜像名称:

docker tag 5f4531f9023e my_nginx

6.运行新镜像

docker run -d -p 80:80 my_nginx

dockerfile常用命令

COPY

复制文件的命令

ADD

复制文件的命令,与COPY不同的是,ADD自动解压

CMD

运行容器时会默认执行的命令

CMD [参数1,参数2]

CMD ["cat","/www/index.html"] == docker run 容器id cat /www/index.html

FROM

指定基础镜像

MAINTAINER

维护者,作者

RUN

想让容器干啥,就在命令前面加上RUN就可以了。

WORKDIR

相当于cd,设置到前工作目录

VOLUME

设置卷,挂载主机目录 容器在运行时,应该保证在存储层不写入任何数据,运行在容器内产生的数据,我们推荐是挂载,写入到宿主机上,进行维护。

EXPOSE

指定对外端口

ENV

环境变量

ENTRYPOINT

容器启动后执行的命令

CMD 和 ENTRYPOINT的区别

docker run 镜像id ping www.baidu.com 上面这句命令,如果是CMD的话 ping www.baidu.com 会覆盖CMD的命令 如果是 ENTRYPOINT的话, ping www.baidu.com 不会覆盖ENTYpoint的命令