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/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值