当我运行
docker-compose up -d
时,图像被拉出并命名为 ghcr.io/username/myimage
。我希望它被命名为myimage
。为此,我必须手动运行以下命令。有没有办法直接在docker compose文件中指定自定义镜像名称?
docker pull ghcr.io/username/myimage:latest
docker tag ghcr.io/username/myimage:latest myimage:latest
docker rmi -f ghcr.io/username/myimage:latest
Docker 组合
version: '3'
services:
devcontainer:
image: ghcr.io/username/myimage:latest
command: sleep infinity
container_name: myimage
ports:
- 8000:8000
有没有办法直接在docker compose文件中指定自定义镜像名称?
没有;
image
指令就是告诉 Docker 使用什么镜像;它并不是用于重新标记图像的通用工具。
但是!您可以使用一个简单的解决方法来完成您想要的操作。创建一个虚拟 Dockerfile,如下所示:
FROM ghcr.io/username/myimage:latest
然后像这样构造你的撰写文件:
services:
devcontainer:
image: myimage
build:
context: .
command: sleep infinity
container_name: myimage
ports:
- 8000:8000
现在,当您运行
docker compose build
时,它将构建图像myimage
。