image - 改为从本地 docker 镜像中拉取

标签 image docker docker-compose

我有一个 Dockerfile 内容看起来像这样的应用

docker 文件

FROM SOME_NUMBERS.dkr.ecr.us-east-1.amazonaws.com/app_name:SOME_HEX_VALUE

COPY docker/app/bin/startup.sh /usr/bin/

CMD ["/usr/bin/startup.sh"]

我不想再从亚马逊拉取图像,而是想从第一个 docker-compose up --build 之后拉取的已经存在的本地镜像中“拉取”命令已运行。

当我执行 docker images 时,我得到了

SOME_NUMBERS.dkr.ecr.us-east-1.amazonaws.com/app_name SOME_HEX_VALUE SOMESHORT_HEX 2 天前 1.54 GB 这意味着图像已经是本地的。我明白这一点

if the host has the image you want docker-compose to use on it it will use that image but if the host doesn't have it, it will go to docker hub or whatever you have setup in your config for registries

所以我将 Dockerfile 内容更改为:

FROM IMAGE_ID:SOME_HEX_VALUE 其中 IMAGE_ID 是我在执行 docker images 时想要的存储库的图像 ID,但随后我得到了 Service 'app' failed to build: repository SOMESHORT_HEX not found: does not exist or no pull access 我想知道如何告诉 Docker 使用本地镜像而不是尝试从亚马逊 url 中提取.有什么想法吗?

最佳答案

首先从本地 Docker 引擎中的远程存储库中拉取图像:

docker pull SOME_NUMBERS.dkr.ecr.us-east-1.amazonaws.com/app_name:SOME_HEX_VALUE

现在,给图像一个新的局部标签:

docker tag SOME_NUMBERS.dkr.ecr.us-east-1.amazonaws.com/app_name:SOME_HEX_VALUE my-image-name

现在您可以简单地引用my-image-name,如下所示:

FROM my-image-name

关于image - 改为从本地 docker 镜像中拉取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44166971/

相关文章:

Docker Compose 何时使用镜像而不是构建

java - 将面板另存为图像

c# - 不透明蒙版无视 ClipToBounds 为 True

Python imread 错误 : "Unsupported BMP bitfields layout"

docker - 在 ECS 上的 pulumi 中使用来自私有(private) docker 注册表的图像

node.js - ECS Fargate 上的 EFS 挂载 - 拒绝非 root 用户的读/写权限

html - 无法从 HTML 访问 docker-compose 的其他服务

node.js - Docker - "Error: EACCES: permission denied, mkdir '/project/node_modules/.cache/@babel'”

image - CSS:在图像周围创建白光

适用于 Windows 的 Docker 和 docker-maven-plugin - "SSLException: Unrecognized SSL message, plaintext connection"错误