栏目分类
ApeCoin中文网 你的位置:City Tycoon Games中文网 > ApeCoin中文网 > 利用Dockerfile制作个人的镜像文件详细讲解
利用Dockerfile制作个人的镜像文件详细讲解
发布日期:2025-01-03 19:04 点击次数:82
1. Dockerfile简介
简单来说,Dockerfile就是把我们安装环境的每个步骤和指令,放到一个文件,最后一键执行,最后做成一个你想要的环境。
Dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本。
Docker构建三步曲:
编写dockerfile文件docker build 构建image镜像文件docker run 运行容器
2. Dockerfile相关指令
Dockerfile 是一个包含创建镜像所有命令的文本文件,通过docker build命令可以根据 Dockerfile 的内容构建镜像,在介绍如何构建之前先介绍下 Dockerfile 的基本语法结构。
Dockerfile 有以下指令选项:
FROM 基础镜像,当前新镜像是基于哪个镜像的MAINTAINER 镜像维护者的姓名和邮箱地址RUN 容器构建时需要运行的命令CMD 指定一个容器启动时要运行的命令。dockerfile中可以有多个CMD指令,但只有最后一个生效,CMD会被docker run之后的参数替换。EXPOSE 当前容器对外暴露的端口号ENV 用来在构建镜像过程中设置环境变量ADD 将宿主机目录下的文件拷贝到镜像里面并且ADD命令会自动处理URL和解压tar压缩包COPY COPY:类似ADD,拷贝文件和目录到镜像中,但是它只是拷贝,不会自动处理URL和解压tar压缩包。ENTRYPOINT 指定一个容器启动时要运行的命令。ENTRYPOIT的目的和CMD一样,都是在指定容器启动程序及参数。VOLUME 容器数据卷,用于数据保存和持久化工作USER 指定运行容器时的用户名或UID,后续的 RUN 也会使用指定用户WORKDIR 指定在容器创建后,终端默认登录进来工作目录,一个落脚点ONBUILD 当构建一个被继承的Dockerfile时运行命令,父镜像在被子继承后,父镜像的onbuild被触发。
3. Dockerfile编写
在当前目录新建一个文件夹docker-run, cd进入到文件夹,touch新建一个Dockerfile,然后vi打开文件,开始编辑
编辑内容如下:
4. requirements.txt
requirements.txt是python的相关依赖包, 可以通过freeze命令生成
pip3 freeze >requirements.txt
5. build构建镜像文件
docker build 命令用于使用 Dockerfile 创建镜像。OPTIONS说明:
-f :指定要使用的Dockerfile路径;-pull :尝试去更新镜像的新版本;-quiet, -q :安静模式,成功后只输出镜像 ID;-tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。
-t参数设置镜像名称yoyo_pytes和tag标签名称v1,注意最后面有个点.
docker build -t yoyo_pytest:v1 .
运行过程中可以看到按步骤运行,如:Step 1/8
运行完成后,可以通过docker images查看生成的镜像
6. run运行容器
在当前目录新建一个test_h.py文件,写入pytest测试脚本
使用docker run运行容器
-it -t让docker分配一个伪终端并绑定到容器的标准输入上, -i则让容器的标准输入保持打开.-rm 容器退出时,自动清除容器。-rm选项不能与-d同时使用-v 将容器的工作目录/code挂载到宿主机的$PWD,也就是当前目录yoyo_pytest:v1 容器名称和tag名称test_h.py 后面跟着需要执行的脚本名称
到此这篇关于利用Dockerfile制作个人的镜像文件详细讲解的文章就介绍到这了,更多相关Dockerfile 镜像文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
上一篇:没有了 下一篇:冒险岛Online