欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Docker入门学习⑤----DockerFile构建镜像、发布镜像

程序员文章站 2022-03-29 22:48:29
...

dockerfile是用来构建docker镜像的文件。

构建步骤:

1.编写一个dockerfile文件

2.docker build构建成为一个镜像

3.docker run 运行镜像

4.docker push发布镜像(DockerHub)

DockerFile的构建过程

基础知识:

1.每个保留关键字(指令)必须是大写字母

2.执行从上到下顺序执行

3.每一个指令都会创建一个镜像层,并提交

Dockerfile是面向开发的。以后发布项目,做镜像,就需要编写dockerfile文件。Docker镜像逐渐成为企业交付的标准。

DockerFile指令

FROM        # 基础镜像,一切从这里开始
MAINTAINER  # 镜像是谁写的,姓名+邮箱
RUN         # 镜像构建的时候需要运行的命令
ADD         # 添加内容
WORKDIR     # 设置当前工作目录
VOLUME      # 挂在卷,挂载主机目录
EXPOSE      # 暴露对外端口
CMD         # 指定容器启动的时候要运行的命令,只有最后一个会生效,可被替代
ENTRYPOINT  # 指定容器启动的时候要运行的命令,可以追加命令
ONBUILD     # 当构建一个被继承DockerFile这个时候就会运行ONBUILD的指令
COPY        # 类似ADD,将我们文件拷贝到镜像中
ENV         # 构建的时候构建设置环境变量

实战测试

DockerHub中的镜像创建基本都是从基础镜像scratch过来的。

# 创建一个自己的centos镜像
# 1.编写dockerfile文件
[aaa@qq.com dockerfile]# vim mydockerfile-centos
[aaa@qq.com dockerfile]# cat mydockerfile-centos 
FROM centos
MAINTAINER chenjiahe<aaa@qq.com>

ENV MYPATH /usr/local
WORKDIR $MYPATH

RUN yum -y intsall vim
RUN yum -y install net-tools

EXPOSE 80

CMD echo $MYPATH
CMD echo "构建完毕end"
CMD /bin/bash

# 2.通过文件构建镜像
# -f dockerfile文件    -t 镜像名:[tag]
docker build -f mydockerfile-centos -t mycentos .

官方的centos镜像没有vim,ifconfig等等功能,通过上面自己创建镜像增加了这些命令。

DockerFile制作tomcat镜像

1.准备镜像文件 tomcat压缩包 jdk压缩包

2.编写dockerfile文件,官方命名Dockerfile,build会自动寻找这个文件,就不需要-f制定了

[aaa@qq.com tomcat]# vim Dockerfile
FROM centos
MAINTAINER chenjiahe<aaa@qq.com>

COPY readme.txt /usr/local/readme.txt

ADD jdk-8u171-linux-x64.tar.gz /usr/local
ADD apache-tomcat-9.0.39.tar.gz /usr/local

RUN yum -y install vim

ENV MYPATH /usr/local
WORKDIR $MYPATH

ENV JAVA_HOME /usr/local/jdk1.8.0_17
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.39
ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.39
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

EXPOSE 8080

CMD /usr/local/apache-tomcat-9.0.39/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.39/b
in/logs/catalina.out

3.构建镜像

# 由于官方名字就是Dockerfile所以不用-f
docker build -t diytomcat .

发布自己的镜像

1.将镜像发布到DockerHub

需要注册自己的账号

# 1.登录
docker login -u 用户名
# 2.提交镜像
docker push 账号名/镜像名:[tag]

小结

这两张图基本包含了Docker的常用操作。

Docker入门学习⑤----DockerFile构建镜像、发布镜像
Docker入门学习⑤----DockerFile构建镜像、发布镜像