dockerFile介绍
dockerfile是用来构建docker镜像的文件!命令参数脚本
构建步骤:
1.编写一个dockerfile文件
2.docker build 构建成一个镜像
3.docker run 运行镜像
4.dokcer push 发布镜像(dockerHub 、阿里云镜像仓库)
dockerFile构建
基础知识:
1.每个保留关键字(指令)都必须是大写字母
2.执行从上到下顺序执行
3.# 表示注释
4.每一个指令都会创建提交一个新的镜像层并,并且提交!
dockerfile是面向开发的,以后要发布项目,做镜像,就需要编写dockerfile文件,这个文件十分简单!
Docker 逐渐成为了企业交付的标准,必须要掌握!
步骤:开发 部署 运维
Dockerfile:构建文件,定义了一切步骤,源代码
DockerImages:通过dockerFile构建生成的镜像,最终要发布和运行的产品。原来是 jar war
Docker容器:容器就是镜像运行起来提供服务的
dockerFile的指令
FROM #基础镜像,一切从这里构建 centos untn
MAINTAINER #镜像是谁写的,性名+邮箱
RUN # docker 镜像构建的时候要运行的命令
ADD # 步骤,tomcat镜像,这个tomcat压缩包!添加内容
WORKDIR # 镜像的工作目录
VOLUME # 挂载卷的目录位置
EXPOSE # 暴露端口配
CMD # 指定这个容器启动的时候要运行的命令,只有最后一个会生效,可被替代
ENTRYPOINT # 指定这个容器启动的时候要运行的命令,可追加命令
ONBUILD # 当构建一个被继承 dockerfile这个时候就会运行ONBUILD指令
COPY # 类似ADD命令,将文件拷贝到镜像中
ENV # 构建的时候设置环境变量
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
实战测试
docker Hub 中99%镜像都是从这个基础镜像过来的 FROM scratch,然后配置需要的软件和配置
创建一个自己的centos
# 1.编写配置文件 dockerfile
[root@localhost /]# cd home
[root@localhost home]# ls
docker-test-volume mysql test
[root@localhost home]# mkdir dockerfile
[root@localhost home]# cd dockerfile
[root@localhost dockerfile]#
[root@localhost dockerfile]# cat mydockerfile
FROM centos
MAINTAINER pengfan<2366682276@qq.com>
ENV MYPATH /usr/local
WORKDIR $MYPATH
RUN yun -y install vim
RUN yun -y install net-tools
EXPOSE 80
CMD echo $MYPATH # 输出MYPATH
CMD echo "----end----"
CMD /bin/bash
[root@localhost dockerfile]# docker build -f mydockerfile -t mycentos .
#2.通过文件构建镜像 docker build -f mydockerfile -t mycentos .
# build 构建
# -f dockerfile (mydockerfile命令文件路径)
# -t 目标 (镜像名:tag)
# . 当前目录
# 3. docker run -it mycentos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
我们可以列出 镜像的制作历史
docker history [id]
tomcat
https://www.bilibili.com/video/BV1og4y1q7M4?p=30www.bilibili.com