【Docker】7、Dockerfile

Dockerfile

Dockerfile介绍

dockerfile是用来构建docker镜像的文件!命令参数脚本!

构建步骤:

  • 编写一个dockerfile文件

  • docker build 构建成为一个镜像

  • docker run 运行镜像

  • docker pull 发布镜像

    很多官方镜像都是基础包,很多功能没有,我们通常自己搭建自己的镜像!

    Dockerfile的构建过程

    基础知识:

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

    • 执行从上到下顺序执行

    • #表示注释

    • 每一个指令都会创建提交一个新的镜像层并提交!

    在这里插入图片描述

    dockerfile是面向开发的,开发项目,做镜像,就需要编写dockerdile文件,十分简单!

    docker镜像逐渐成为企业交付标准,必须掌握!

    步骤:开发、部署、上线、运维。

    Dockerfile:构建文件,定义了一切的步骤,源代码

    Dockerimages:通过dockerfile构建生成的镜像,最终发布和运行的产品!

    Docker容器:容器就是镜像运行起来提供服务!

    DockerFile的指令

在这里插入图片描述

FROM           #基础镜像,一切从这里开始构建
MAINTAINER     #镜像作者  姓名+邮箱
RUN            #镜像构建的时候需要运行的命令
ADD            #步骤:tomcat镜像,tomcat压缩包!添加内容
WORKDIR        #镜像的工作目录
VOLUME         #挂载的目录
EXPOSE         #暴露端口配置
CMD            #指定这个容器启动的时候运行的命令  只有最后一个会生效
ENTRYPOINT     #指定这个容器启动的时候运行的命令  可以追加命令
ONBUILD        #当构建一个被继承Dockerfile  这个时候就会运行ONBUILD
COPY           #类似ADD,将我们文件拷贝到镜像中
ENV            #构建的时候设置环境变量!
实战测试

最基础的镜像FROM scratch

创建一个自己的centos

# 1、编写Dockerfile文件
[root@localhost dockerfile]# cat mydockerfile-centos 
FROM centos
MAINTAINER dq

ENV MYPATH /usr/local
WORKDIR $MYPATH

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

EXPOSE 80

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

# 2、通过文件构建镜像
# 命令 docker build -f dockerfile 文件路径 -t 镜像名:版本 .
[root@localhost dockerfile]# docker build -f mydockerfile-centos -t my-centos:0.1 .


# 3、测试运行

运行镜像可以使用添加的功能例如:vim、ifconfig

CMD和ENTRYPOINT的区别

CMD            #指定这个容器启动的时候运行的命令  只有最后一个会生效
ENTRYPOINT     #指定这个容器启动的时候运行的命令  可以追加命令

Docker中很多命令十分相似!需要实际测试理解!

tomcat镜像制作
tomcat镜像制作

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

2、编写dockerfile文件,官方命名Dockerfile构建就会自动寻找,不需要-f去指定路径

#编写Dockerfile文件
FROM centos:7
MAINTAINER dq<dqforgive@163.com>

ADD apache-tomcat-9.0.37.tar.gz /usr/local/
ADD jdk-8u261-linux-x64.tar.gz /usr/local/

ENV JAVA_HOME /usr/local/jdk1.8.0_261
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.37/
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

EXPOSE 8080

CMD /usr/local/apache-tomcat-9.0.37/bin/catalina.sh run

3、构建镜像

[root@localhost tomcat]# docker build -t diytomcat .

4、启动镜像

[root@localhost tomcat]# docker run -d -p 8080:8080 diytomcat
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值