ddocker系列 第四章 Dockerfile
第一章 linux安装docker第二章 Docker常用命令
第三章 安装
第四章 Dockerfile
文章目录
一、Dockerfile是什么?
Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了多条构建镜像所需的指令和说明。
二、Dockerfile常用指令
FROM
构建基础镜像
语法
FROM <image>
FROM <image>:<tag>
实例
FROM mysql
FROM mysql:5.7
MAINTAINER
镜像维护人员
语法
MAINTAINER <name>
实例
MAINTAINER 名称/邮箱
RUN
运行指定的命令
语法
RUN <command>
RUN ["executable", "param1", "param2"]
实例
RUN yum install mysql
RUN ["/bin/bash", "-c", "echo hello"]
CMD
容器启动时要运行的shell命令。
每个Dockerfile只能有一个CMD命令,多个CMD命令只执行最后一个。若容器启动时指定了运行的命令,则会覆盖掉CMD中指定的命令。
语法
CMD ["executable","param1","param2"]
CMD ["param1","param2"]
CMD <shell命令>
实例
CMD [ "sh", "-c", "echo $HOME" ]
CMD [ "echo", "$HOME" ]
VOLUME
容器与主机数据卷挂载
语法
VOLUME ["<路径1>", "<路径2>"...]
VOLUME <路径>
实例
VOLUME ["/data1", "/data2"]
VOLUME /data1 /usr/data
WORKDIR
设置容器工作目录,对RUN,CMD,ENTRYPOINT,COPY,ADD生效
语法
WORKDIR <路径>
实例
WORKDIR /home
ARG
指令定义了一个变量,用户可以在构建时使用 docker build 命令使用 --build-arg varname=value 标志将其传递给构建器。
语法
ARG <name>[=<default value>]
实例
ARG user1
EXPOSE
声明容器外部访问端口
语法
EXPOSE [端口]
实例
EXPOSE 80
ENV
设置环境变量
语法
ENV <key> <value>
ENV <key>=<value> ...
实例
ENV word hello
ENV word=hello
ADD
拷贝文件或目录到容器中,如果是URL或压缩包便会自动下载或自动解压
语法
ADD <src>... <dest>
ADD ["<src>",... "<dest>"]
dest 路径的填写可以是容器内的绝对路径,也可以是相对于工作目录的相对路径
src 可以是一个本地文件或者是一个本地压缩文件,还可以是一个url
实例
ADD text.txt home/
COPY
拷贝文件或目录到容器中,跟ADD类似,但不具备自动下载或解压的功能
用法与ADD一致
ENTRYPOINT
容器启动命令
语法
ENTRYPOINT ["executable", "param1", "param2"]
ENTRYPOINT command param1 param2
实例
ENTRYPOINT ["top", "-b"]
三、使用Dockerfile
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。