Dockerfile

Dockerfile介绍

Dockerfile:就是用来构建docker构建的文件,
通过这个脚本可以生成镜像,镜像是一层一层的,脚本是一个一个的命令,每个命令都是一层!

测试

1.创建一个dockerfile文件,名字可以随机,建议用dockerfile

2.然后写脚本,命令(大写) 参数

form centos

volume["volume01","volume02"]

CMD echo"----end----"
CMD /bin/bash

3.启动脚本生成镜像

docker build -f dockerfile  -t  hj/centos .

 

 4.启动一下自己写的容器

docker run -it hj/centos:1.0 /bin/bash

 

这两个就是代码中挂载的数据卷

5.查看容器信息

docker inspect 37452aac4ed1

 

 

 

实现容器之间的数据共享

1.先创建一个容器

docker run -it --name hj01 6cb756fe2d19

2.创建另一个容器

docker run -it --name hj02 --volumes-from  hj01  6cb756fe2d19

--volumes-from  就相当于java中的子继承父

删除其中一个容器,另外容器中的文件还是存在的。

 

 

二、Dockerfile常用的指令

(1)FROM 指定基础镜像

(2)MAINTAINER 指定镜像的维护者信息,一般为邮箱

(3)RUN 镜像构建时需要执行的命令

(4)ADD 增加文件,会自动解压

(5)WORKDIR 设置当前工作目录

(6)VOLUME 挂载主机目录

(7)EXPOSE 暴露端口,注意这里指仅暴露容器的端口,并不会将容器端口与宿主机端口映射。也就是说在使用docker run的时候仍然需要继续使用-p进行端口映射,换言之,EXPOSE更多的作用在于给Dockerfile开发者提供开发端口的提示提示作用

(8)CMD 指定容器启动的时候需要执行的命令,注意CMD只有最后一个命令会生效

(9)ENTRYPOINT 指定容器启动时需要运行的命令,注意ENTRYPOINT命令可以追加命令,即如果有多条ENTRYPOINT命令会全部执行,这是ENTRYPOINT命令和CMD命令最大的区别

(10)ONBUILD 当构建一个被继承Dockerfile,这个时候就会运行ONBUILD指令

(11)COPY 类似ADD命令,将文件拷贝到镜像中

(12)ENV 构建的时候设置环境变量

 

实战测试

 

posted @ 2022-08-31 15:02  不想当将军的好士兵  阅读(106)  评论(0)    收藏  举报