0
点赞
收藏
分享

微信扫一扫

Dockerfile常用使用方法

小a草 2022-03-12 阅读 93




点击关注公众号,k8s优秀车间主任及时送达


Dockerfile详解

Dockerfile是一个配置文件,可以自动执行创建Docker镜像的步骤。它类似于Makefile。Docker从Dockerfile中读取指令,以自动执行原本手动执行的步骤来创建映像。要构建镜像,请创建一个名为Dockerfile的文件。

Dockerfile描述了组装映像所需的步骤。创建Dockerfile后,调用docker build命令,使用包含Dockerfile的目录的路径作为参数。


docker build 详解

docker build 是用来构建镜像文件的主要使用参数如下:

•-t:镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。

•-f:--file=PATH/Dockerfile 要使用的Dockerfile的路径。如果该路径是相对路径,并且您是从本地目录构建的,则该路径必须是相对于该目录的。目录,如果要从指向tarball或Git存储库的远程URL进行构建,则路径必须相对于远程上下文的根。在所有情况下,文件都必须在构建上下文中。默认值Dockerfile。

案例:

docker build -t nginx-test .



### 参数介绍

FROM

从 Docker 映像创建一个层。


FROM image
FROM image:tag
FROM image@digest


COPY

复制指令,从 Docker 客户端的当前目录中添加文件。

COPY<源路径1>....<目标路径>



RUN

使用 生成应用程序。

RUN<命令行命令>等同于终端操作shell命令


CMD

指定要在容器中运行的命令。

•CMD 在docker run 时运行。

•RUN 是在 docker build。

 CMD命令>

 ​注意​:如果 Dockerfile 中如果存在多个 CMD 指令,仅最后一个生效。

ADD

ADD 指令和 COPY 的使用格类似(同样需求下,官方推荐使用 COPY)。

ENV

设置环境变量,定义了环境变量,那么在后续的指令中,就可以使用这个环境变量。

ENV
ENV==...


VOLUME

VOLUME指令创建具有指定名称和标记的挂载点,

它作为包含来自本机主机或其他主机的外部装载卷集装箱。

作用:

•避免重要的数据,因容器重启而丢失,这是非常致命的。

•避免容器不断变大。

VOLUME ["<路径1>", "<路径2>"...]
VOLUME <路径>


EXPOSE

仅仅只是声明端口。

作用:

•帮助镜像使用者理解这个镜像服务的守护端口,以方便配置映射。

•在运行时使用随机端口映射时,也就是 docker run -P 时,会自动随机映射 EXPOSE 的端口。

EXPOSE <端口1> [<端口2>...]


 LABEL

标签指令将元数据添加到图像。标签是一种。

键-值对。要指定不带值的标签,只需使用空。

字符串。要在标签值中包含空格,请使用引号和。

反斜杠,就像在命令行解析中一样。

LABEL=[=...]
LABEL[]
LABEL[]


WORKDIR

WORKDIR指令为后面的run、cmd、entry point、copy和add Dockerfile命令设置工作目录。在一个Dockerfile中可以多次使用。相对路径是相对于上一条WORKDIR指令的路径定义的。


WORKDIR /a
WORKDIR b
WORKDIR c
WORKDIR <工作目录路径>



实战案例操作

构建简http

FROM centos
RUN echo "Hello World!"
COPY index.html /var/www/html/
EXPOSE 80
docker built -t httpd-test .


Dockerfile常用使用方法_html


运行次容器

docker run -d  --name http-1 -p 80:80 httpd-test


构建nginx


FROM nginx
RUN echo "这是一个本地构建的nginx镜像" > /usr/share/nginx/html/index.html
EXPOSE 80


docker build -t nginx-test .


Dockerfile常用使用方法_nginx_02


测试:

docker run  -d --name nginx-1 -p 80:80 nginx-test 




curl http://localhost



Dockerfile常用使用方法_html_03



举报

相关推荐

0 条评论