Dockerfile是一个文本文档,包含组装Docker映像的说明当我们告诉docker通过执行docker build命令来构建我们的映像时,Docker将读取这些指令并执行它们,从而创建一个Docker映像
添加到Dockerfile的第一行是#语法分析器指令尽管是可选的,但该指令指示Docker Builder在解析Dockerfile时使用什么语法,并允许启用BuildKit的旧Docker版本在开始构建之前升级解析器解析器指令必须出现在Dockerfile中的任何其他注释,空格或Dockerfile指令之前,并且应该是docker file中的第一行
#语法=docker/dockerfile:1
我们推荐docker/dockerfile:1,它总是指向版本1语法的最新版本BuildKit将在构建之前自动检查语法更新,以确保您使用的是最新版本
接下来,我们需要在Dockerfile中添加一行,告诉Docker我们希望在应用程序中使用什么基本图像。
#语法=docker/dockerfile:1
来自蟒蛇:3.8—苗条克星
Docker图像可以从其他图像继承因此,我们将使用官方Python映像,而不是创建自己的基本映像,该映像已经拥有运行Python应用程序所需的所有工具和包
为了更容易运行剩下的命令,让我们创建一个工作目录这指示Docker将此路径用作所有后续命令的默认位置通过这样做,我们不必输入完整的文件路径,但是我们可以使用基于工作目录的相对路径
工作目录/应用程序
通常,下载用Python编写的项目后,首先要做的是安装pip包这可以确保您的应用程序安装了所有依赖项
在运行pip3 install之前,我们需要将requirements.txt文件放入我们的映像中我们将使用这个COPY命令来执行这个操作这个COPY命令有两个参数第一个参数告诉Docker您想要复制到图像的文件第二个参数告诉Docker您想要将文件复制到哪里我们将把requirements.txt文件复制到我们的工作目录/app中
COPY requirements . txt requirements . txt
一旦我们的requirements.txt在图像中有了我们的文件,我们就可以使用RUN命令来执行命令pip3 install这与在pip3 install本地机器上运行完全相同,但这次模块被安装到映像中
RUN pip3安装要求. txt
此时,我们有了一个基于Python版本的映像,并且已经安装了我们的依赖项下一步是将我们的源代码添加到图像中
复制。中定义的自定义主机/etc/hosts将不会被继承。
此COPY命令获取当前目录中的所有文件,并将它们复制到映像中现在,我们所要做的就是告诉Docker,当我们的图像在容器中执行时,我们想要运行什么命令我们使用CMD命令来实现这一点请注意,我们需要通过指定— host=0.0.0.0来使应用程序在外部可见
煤矿管理局
这是一个完整的Dockerfile。要将其他主机传输到您的容器,请参阅参考文档中的将条目添加到容器主机文件。
#语法=docker/dockerfile:1
来自蟒蛇:3.8—苗条克星
工作目录/应用程序
COPY requirements . txt requirements . txt
RUN pip3安装要求. txt
复制。您可以根据每个容器覆盖这些设置。。
煤矿管理局
。声明:本网转发此文章,旨在为读者提供更多信息资讯,所涉内容不构成投资、消费建议。文章事实如有疑问,请与有关方核实,文章观点非本网观点,仅供读者参考。
CA-CAP(中国汽车耐腐蚀与老化性能评价规程)在海南博鳌举办,标志着我国汽车行业耐腐蚀与抗老化测评领域向前迈进一大步,
2022-02-14 19:44北京冬奥会开幕在即,新冠病毒已经进化出传染力更强的奥密克戎新变种,加上病毒喜寒畏热的特性,叠加春运大范围的人员流动,其防
2022-01-28 08:13又是一年岁末时,按照惯例,春节应是亲友团聚的欢乐时期。然而疫情的突袭,让家人的团聚变得更加珍贵,也让更多的家庭明白健康的
2022-01-26 16:31在这个飞速发展的信息化时代,高端产品已经越来越不是“一锤子买卖”,售后服务成为了增强用户黏性、促成口碑向销量转化的关键所
2022-01-26 14:51今年以来,沃尔沃动作频繁,受到了业界内外的广泛关注。3月,沃尔沃宣布将在2030年实现全面电动化,成为纯电豪华品牌,且所
2022-01-18 14:34