首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >根据本地图像制作码头文件?

根据本地图像制作码头文件?
EN

Stack Overflow用户
提问于 2022-01-24 07:50:37
回答 1查看 2.3K关注 0票数 0

我有码头文件,用来制作图像。

代码语言:javascript
运行
复制
FROM public.ecr.aws/lambda/python:3.9

RUN export LANG=en_US.UTF-8
RUN export PYTHONUNBUFFERED=1 

docker build -f dockers/mydocker -t python .

那么我想用这个图像来制作图像。

有列出的图像名为basic docker images

然后在另一个Dockerfile里。

代码语言:javascript
运行
复制
FROM python
ADD ./Pipfile* ./
RUN pipenv install --ignore-pipfile 

当我试图构建这个dockerfile时

就这样来了

FROM docker.io/library/python

这是否意味着我可以使用本地图像来构建下一个图像?

为此,我需要建立当地的存储库??

或者其他的方法??

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-24 12:15:22

这可能很好,但您应该小心地选择与标准Docker集线器图像名称不冲突的名称。

Docker图像名具有表单registry.example.com/path/name。如果没有显式指定注册表,它总是默认为docker.io (不能更改),如果也不指定路径,则默认为docker.io/library/name。这在所有上下文中都是正确的-- docker build -t选项、docker run映像名、Dockerfile FROM行以及图像名称出现的任何其他地方。

这意味着,当您运行docker build -t python时,您将创建一个与Docker Hub python image同名的本地映像。docker build诊断正在向您显示展开的名称。实际上,它应该基于您的本地映像;Docker不会联系远程注册表,除非该图像在本地丢失,或者您明确地告诉它。

我建议在这里选择一些明确的名字。您不需要一个码头集线器帐户,但尽量避免与标准图像冲突的赤裸裸的名称。

代码语言:javascript
运行
复制
# this will work even if you don't "own" this Docker Hub name
docker build -f Dockerfile.base -t whitebear/python .
代码语言:javascript
运行
复制
FROM whitebear/python
...

(自RUN export doesn't do anything以来,您可能很难看到基本映像的效果;将基本映像中的这些行改为ENV。)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70830539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档