了解 Dockerfile

介绍

Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。

构建步骤:

  1. 编写一个dockerfle文件
  2. docker build构建成为一个镜像
  3. docker run运行镜像
  4. docker push发布镜像

构建过程

  1. 每个保留关键字(指令)都是必须是大写字母
  2. 执行从上到下顺序执行
  3. #表示注释
  4. 每一个指令都会创建提交一个新的镜像层,并提交!
    在这里插入图片描述

相关指令

FROM:该指令用于指定要构建的镜像的基础镜像。它通常是 Dockerfile 中的第一条指令。

RUN:该指令用于在镜像中执行命令,这会创建新的镜像层。每个 RUN 指令创建一个新的镜像层。

MAINTAINER:镜像的作者,姓名 + 邮箱

ADD:添加镜像

WORKDIR:为后续的 RUN、CMD、ENTRYPOINT 指令配置工作目录

VOLUME:创建一个可以从本地主机或其他容器挂载的挂载点,一般用来存放数据库和需要保持的数据等

EXPOSE: 指令用于记录应用所使用的网络端口

CMD:类似于 RUN 指令,用于运行程序,但二者运行的时间点不同。CMD 在docker run 时运行。RUN 是在 docker build。如果 Dockerfile 中如果存在多个 CMD 指令,仅最后一个生效。

ENTRYPOINT:类似于 CMD 指令,但其不会被 docker run 的命令行参数指定的指令所覆盖,而且这些命令行参数会被当作参数送给 ENTRYPOINT 指令指定的程序。但是, 如果运行 docker run 时使用了 --entrypoint 选项,将覆盖 CMD 指令指定的程序。

ENV:配置环境变量目录

在这里插入图片描述

开始构建

Docker Hub 中大多数镜像都是从这个基础镜像过来的FROM scratch ,然后配置需要的软件和配置来进行的构建

在这里插入图片描述
构建自己的 centos

在 / 目录下的 home 目录创建一个文件夹 dockerfile

[root@localhost /]# cd home/
[root@localhost home]# mkdir dockerfile
[root@localhost home]# vim mydockerfile-centos

添加内容

FROM centos
MAINTAINER bang<1115189918@qq.com>

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

docker build -f dockerfile文件路径 -t 镜像名:[tag]

[root@localhost home]# docker build -f mydockerfile-centos -t mycentos:0.1 .

测试运行我们构建的镜像

[root@localhost home]# docker run -it mycentos:0.1

构建成功后可以通过 docker history + 镜像id 查看镜像构建步骤
在这里插入图片描述

发布镜像到 DockerHub

先登录DockerHub账号
在这里插入图片描述
发布到DockerHub
在这里插入图片描述
提交失败

docker tag [镜像id] [新名字],再次尝试提交

发布到阿里云镜像

登录阿里云,找到容器镜像服务,创建命名空间
在这里插入图片描述

创建容器镜像
在这里插入图片描述
按照步骤操作
在这里插入图片描述

小结

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值