如何在docker compose文件中设置自定义镜像名称?

问题描述 投票:0回答:1

当我运行

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 docker-compose
1个回答
0
投票

有没有办法直接在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

© www.soinside.com 2019 - 2024. All rights reserved.