繁体   English   中英

如何运行从 GitHub 包中提取的 Docker Compose 镜像

[英]How to run a Docker Compose image pulled from GitHub Packages

我已经在 GitHub Packages 上推送了一个 Docker 镜像,现在我想拉它并使用它。 为了在本地运行映像,我曾经转到相关文件夹并使用命令docker-compose up运行它。 但是现在,通过从 GitHub 包中提取,我只获得了没有任何文件夹的 Docker 映像,我不知道如何运行它。

通过检查图像,它包含与原始文件夹相关的所有文件,但是,当我尝试运行docker-compose up ghcr.io/giuliomat/bdt-project命令时,我收到一条错误消息,指出没有 docker-compose。 yml 在目录中。 如果我只使用命令docker run ghcr.io/giuliomat/bdt-projectdocker run ghcr.io/giuliomat/bdt-project -compose.yml 文件中指定的两个服务之一。 如何正确运行 Docker Compose 镜像? 提前致谢!

更新:我试着更好地解释自己。 在图像中有一个用于构建 Web 服务的 Dockerfile(现在我已在问题中上传)。 我在本地开发了映像,并且使用docker-compose up运行它没有问题,但是现在我想看看当用户从我的 GitHub 包中提取它时必须执行哪些操作才能运行它,这是我的问题. 拉取的映像应该包含运行所需的所有元素,但我不知道使用什么命令来告诉 Docker 运行 docker-compose.yml 文件中指定的两个服务,因为当用户从 GitHub 包中提取时,它只获取图像并且没有运行docker-compose up文件夹。

Dockerfile:

在此处输入图片说明

docker-compose.yml:

在此处输入图片说明

拉取的 docker 镜像的内容:

在此处输入图片说明

更新:

泊坞窗图像库存储阳明文件,所以要么你提供一个README.md在图像注册表中的用户(与YML冗长复制粘贴有)和/或还提供链接到版本控制储存库,其余文件驻留,因此用户可以克隆和使用docker-compose up


docker-compose up [options] [--scale SERVICE=NUM...] [SERVICE...]意思是“ (if specified, otherwise run all) in docker-compose.yml` 中找到 [service...] (if specified, otherwise run all) in当前工作目录并运行它。

因此,如果您使用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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM