如何 运行 Docker 组合从 GitHub 包中提取的图像
How to run a Docker Compose image pulled from GitHub Packages
我已经在 GitHub 包上推送了一个 Docker 图像,现在我想拉出并使用它。
要在本地 运行 图像,我曾经转到相关文件夹并使用命令 docker-compose up
运行 它。
但是现在,通过从 GitHub 包中提取,我只得到了没有任何文件夹的 Docker 图像,我不知道如何 运行 它。
通过检查图像,它包含与原始文件夹相关的所有文件,但是,当我尝试 运行 docker-compose up ghcr.io/giuliomat/bdt-project
命令时,我收到一条错误消息,提示没有 docker-compose.yml 在目录中。如果我只使用命令 docker run ghcr.io/giuliomat/bdt-project
,它 运行 是 docker-compose.yml 文件中指定的两个服务之一。我怎样才能 运行 和 Docker 正确合成图像?提前致谢!
更新: 我试着更好地解释自己。在图像中有一个 Docker 文件(现在我已经在问题中上传)用于构建网络服务。我在本地开发了图像,并且 运行 使用 docker-compose up
没有问题,但现在我想看看它必须做什么才能在用户拉动它时 运行 它来自我的 GitHub 包,这是我的问题。拉出的图像应该具有 运行 所需的所有元素,但我不知道要使用什么命令来告诉 Docker 到 运行 docker 中指定的两个服务-compose.yml 文件,因为当用户从 GitHub 包中提取时,它只会获取图像,而不会获取 运行 docker-compose up
.
所在的文件夹
Docker文件:
docker-compose.yml:
拉取的docker图片内容:
更新:
Docker 图像存储库 不 存储 yml 文件,因此您要么在图像注册表中为用户提供 README.md
(使用 yml 详细复制- 粘贴到那里)and/or 您还提供了 link 到其余文件所在的版本控制存储库,因此用户可以克隆和使用 docker-compose up
.
docker-compose up [options] [--scale SERVICE=NUM...] [SERVICE...]
表示“在当前工作目录中找到 [service...](if specified, otherwise run all) in
docker-compose.yml` 并 运行 它。
因此,如果您使用 docker-compose.yml
移出文件夹,它将不会选择撰写文件,因此将无法工作。
此外,对于使用的图像,您需要指定服务的 image
属性 而不是 build
,因为 build
在本地与 Dockerfile
一起使用,并且尝试构建图像而不是 从 GitHub Docker 图像注册表中拉取 图像:
web:
image: "ghcr.io/giuliomat/bdt-project:latest"
与 redis
服务的方式相同。
还要确保您可以先在本地拉取图像(否则在编写命令之前需要 docker login
):
docker pull ghcr.io/giuliomat/bdt-project
我已经在 GitHub 包上推送了一个 Docker 图像,现在我想拉出并使用它。
要在本地 运行 图像,我曾经转到相关文件夹并使用命令 docker-compose up
运行 它。
但是现在,通过从 GitHub 包中提取,我只得到了没有任何文件夹的 Docker 图像,我不知道如何 运行 它。
通过检查图像,它包含与原始文件夹相关的所有文件,但是,当我尝试 运行 docker-compose up ghcr.io/giuliomat/bdt-project
命令时,我收到一条错误消息,提示没有 docker-compose.yml 在目录中。如果我只使用命令 docker run ghcr.io/giuliomat/bdt-project
,它 运行 是 docker-compose.yml 文件中指定的两个服务之一。我怎样才能 运行 和 Docker 正确合成图像?提前致谢!
更新: 我试着更好地解释自己。在图像中有一个 Docker 文件(现在我已经在问题中上传)用于构建网络服务。我在本地开发了图像,并且 运行 使用 docker-compose up
没有问题,但现在我想看看它必须做什么才能在用户拉动它时 运行 它来自我的 GitHub 包,这是我的问题。拉出的图像应该具有 运行 所需的所有元素,但我不知道要使用什么命令来告诉 Docker 到 运行 docker 中指定的两个服务-compose.yml 文件,因为当用户从 GitHub 包中提取时,它只会获取图像,而不会获取 运行 docker-compose up
.
Docker文件:
docker-compose.yml:
拉取的docker图片内容:
更新:
Docker 图像存储库 不 存储 yml 文件,因此您要么在图像注册表中为用户提供 README.md
(使用 yml 详细复制- 粘贴到那里)and/or 您还提供了 link 到其余文件所在的版本控制存储库,因此用户可以克隆和使用 docker-compose up
.
docker-compose up [options] [--scale SERVICE=NUM...] [SERVICE...]
表示“在当前工作目录中找到 [service...](if specified, otherwise run all) in
docker-compose.yml` 并 运行 它。
因此,如果您使用 docker-compose.yml
移出文件夹,它将不会选择撰写文件,因此将无法工作。
此外,对于使用的图像,您需要指定服务的 image
属性 而不是 build
,因为 build
在本地与 Dockerfile
一起使用,并且尝试构建图像而不是 从 GitHub Docker 图像注册表中拉取 图像:
web:
image: "ghcr.io/giuliomat/bdt-project:latest"
与 redis
服务的方式相同。
还要确保您可以先在本地拉取图像(否则在编写命令之前需要 docker login
):
docker pull ghcr.io/giuliomat/bdt-project