Dockerfile 是一个文本文件,它包含了一系列的指令,用于构建一个 Docker 镜像。下面是 Dockerfile 中常用命令的详细解释和示例。

1. 获取镜像的三种方式

通过命令拉取镜像

docker pull 镜像名称

从镜像仓库拉取指定的镜像。

通过容器创建镜像

docker commit 容器id 镜像名称

从已存在的容器创建一个新的镜像。

通过Dockerfile构建镜像
编写 Dockerfile 文件来自定义和构建镜像。

流程图:获取镜像的三种方式

开始
docker pull 镜像名称
从仓库拉取镜像
开始
docker commit 容器id 镜像名称
从容器创建镜像
开始
编写Dockerfile
构建自定义镜像
2. Dockerfile基础指令

FROM
定义基础镜像信息。

FROM nginx

MAINTAINER
作者维护者信息。

MAINTAINER 作者名 <邮箱>

RUN
运行Linux命令,制作镜像操作指令。

RUN echo '<meta charset=utf8>佳哥带你用docker运行nginx服务' > /usr/share/nginx/html/index.html

ADD
添加文件到容器内,支持自动解压和远程文件下载。

ADD 文件路径 /容器内路径

COPY
复制本地文件到容器内,不自动解压。

COPY 文件路径 /容器内路径

WORKDIR
设置工作目录。

WORKDIR /etc/mysql

USER
切换执行用户。

USER root
USER test

VOLUME
定义挂载卷。

VOLUME /data

EXPOSE
指定对外的端口。

EXPOSE 80

CMD
指定容器启动时要执行的命令。

CMD ["nginx", "-g", "daemon off;"]

ENTRYPOINT
指定容器启动时要执行的程序及参数。

ENTRYPOINT ["nginx", "-g", "daemon off;"]

ENV
设置环境变量。

ENV NAME value

ARG
构建时设置变量。

ARG NAME=value

流程图:Dockerfile基础指令

FROM
定义基础镜像
MAINTAINER
定义维护者信息
RUN
执行命令
ADD
添加文件/目录
COPY
复制文件/目录
WORKDIR
设置工作目录
USER
切换用户
VOLUME
定义挂载卷
EXPOSE
暴露端口
CMD
指定启动命令
ENTRYPOINT
指定启动程序
ENV
设置环境变量
ARG
构建时设置变量
3. Dockerfile构建示例

构建Docker镜像

docker build --no-cache -t 'jiage3122/my_flask_web' .

打标签

docker tag 镜像id 镜像名称

运行容器

docker run -d -p 80:80 my-nginx

流程图:Dockerfile构建示例

编写Dockerfile
docker build
构建镜像
docker tag
打标签
docker run
运行容器
内容汇总表格
章节命令说明
获取镜像docker pull从仓库拉取镜像
获取镜像docker commit从容器创建镜像
获取镜像编写Dockerfile通过Dockerfile构建镜像
基础指令FROM定义基础镜像
基础指令MAINTAINER定义维护者信息
基础指令RUN执行命令
基础指令ADD添加文件/目录
基础指令COPY复制文件/目录
基础指令WORKDIR设置工作目录
基础指令USER切换用户
基础指令VOLUME定义挂载卷
基础指令EXPOSE暴露端口
基础指令CMD指定启动命令
基础指令ENTRYPOINT指定启动程序
基础指令ENV设置环境变量
基础指令ARG构建时设置变量
构建示例docker build构建Docker镜像
构建示例docker tag打标签
构建示例docker run运行容器

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部