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

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文件
[root@192 dockerfile]# vim mydockerfile-centos
[root@192 dockerfile]# cat mydockerfile-centos 
FROM centos
MAINTAINER chenjiahe<1041076885@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制定了

[root@192 tomcat]# vim Dockerfile
FROM centos
MAINTAINER chenjiahe<1041076885@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的常用操作。

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天意不可违.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值