如何为Docker Hub的图片“docker-compose up”

是否有可能拉和启动在docker-compose.yml中定义的所有容器? 我正在尝试执行docker-compose up -d my/image ,其中my/image是DockerHub上的回购站,但是它显示“找不到docker-compose.yml”。 我也试着用docker pull my/image来得到相同的结果

UPD:图片https://hub.docker.com/r/gplcart/core/ ,源 – https://github.com/gplcart/docker-core

解决:看起来docker撰写不符合我想要的方式。 我需要手动创build一个目录,将docker-compose.yml放到那里,然后运行docker docker-compose up

https://docs.docker.com/compose/wordpress/#define-the-project

我预计运行docker-compose up -d repo/image足以下载并运行所有定义的容器

要使用docker-compose pull <service_name> ,请docker-compose.yml文件中列出的其中一个service_name

docker pull my/image失败,但应该失败,并有一个不同的错误比你注意到(你张贴撰写错误)

在您的示例中, my/name不是有效的服务名称,因为您不能在服务名称中使用/ 。 撰写会给你一个不同的错误。

我不清楚my/name代表什么(假设你用本地的东西代替了它)。

如果你发布你docker-compose.yml ,它将有助于确定正确docker-compose.yml docker-compose命令应该是什么。

错误Can't find docker-compose.yml表明你目前不在docker-compose.yml文件的目录中,或者你已经命名了不同的文件。 如果你已经命名了不同的文件,包括不同的大小写或扩展名,你可以重命名文件,或者运行docker-compose -f your_filename.yml up来传递docker-compose的不同文件进行parsing。 如果您不在目录中,请确保在运行docker-compose命令之前先cd到该目录中。

docker-compose基于你的本地docker-compose.yml文件。 使用docker-compose来拉取第三方图像通常是非常有用的,而不是执行单独的docker命令(为了拉取图像或部署应用程序等等),您需要以更结构化的方式来定义您的架构,如:

docker-compose.yml文件:

 version: '3' services: containerA: image: gplcart/core containerB: build: . # go on defining the rest ... 

并部署:

docker-compose build && docker-compose up -d

尝试login到Docker Hub,以便Docker Compose知道您要从那里拉取图像。

从命令行…

docker login

系统将提示您input用户名和密码。 一旦通过身份validation,在运行docker-compose up时,撰写应该从Docker Hub提取图片。

另外,您需要从docker-compose.yml文件所在的目录运行docker-compose.yml 。 在Github上查看你docker-compose.yml文件,看起来你缺less几行。 你需要指定版本,并且gplcartdbphpmyadmin应该在services之下。

 version: '3' services: gplcart: build: . links: - db ports: - 8080:80 db: image: mariadb:10.2 environment: MYSQL_DATABASE: test MYSQL_ROOT_PASSWORD: test ports: - 3306:3306 phpmyadmin: image: phpmyadmin/phpmyadmin:4.7 links: - db ports: - 8181:80