Dockerfile的编写

DockerFile:  

 # volume test 

FROM centos

VOLUME [“/dataVolumeContainer1”,”/dataVolumeContainer2”]

CMD echo “finished,———success1”

CMD /bin/bash

 

等价于下面的命令:

docker run -it -v /host1:/dataVolumeContainer1 -v /host2:/dataVolumeContainer2 centos /bin/bash
docker build -f dockerFile路径 -t 生成的路径 

docker build -f DockerFile -t lj/centos .

 

 

 DockerFile关键字:

FROM:基础镜像,当前新镜像是基于哪个镜像的

MAINTAINER:镜像维护者的姓名和邮箱地址

RUN:容器运行时需要执行的命令

EXPOSE:当前容器对外暴露出的端口

WORKDIR:指定在创建容器后,终端默认登录进来的工作目录

ENV:用来在构建镜像过程中设置环境变量

ADD:拷贝+解压

COPY:直接拷贝

VOLUME:容器数据卷,用于数据保存和持久化工作  

CMD:指定一个容器启动时要运行的命令,Dockerfile中可以有多个CMD指令,但只有最后一个生效,CMD会被docker run之后的参数替换

ENTRYPOINT:类似于CMD,不会被替换,而是追加命令

ONBUILD:当构建一个被继承的Dockerfile时运行命令,父镜像在被子继承后父进程的onbuild被触发。

 

Dockerfile:

---

FROM centos

MAINTAINER lj<hitomli@163.com>



ENV MYPATH /usr/local

WWORKDIR $MYPATH



RUN run -y install vim

RUN yum -y install net-tools



EXPOSE 80



CMD echo $MYPATH

CMD echo “success—————ok“

CMD /bin/bash

---

 

构建镜像:

docker build -t 新镜像名字:TAG .

---

FROM centos

RUN yum install -y curl

CMD [“curl”, “-s”, “http://ip.cn”]

---

 

---


 

FROM centos

RUN yum install -y curl

ENTRYPOINT [ “curl”, “-s”, “http://ip.cn” ]

ONBUILD RUN echo “father onbuild———886”

---

 

 Dockerfile  总结:

 

安装:https://docs.docker.com/engine/install/ubuntu/

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页