是否可以拉取和启动docker-compose.yml中定义的所有容器?我正在尝试执行docker-compose up -d my/image
,其中my/image
是DockerHub上的代码库,但它显示“无法找到docker-compose.yml”。我还尝试先使用docker pull my/image
拉取图像,结果相同
更新:镜像源,https://hub.docker.com/r/gplcart/core/ - https://github.com/gplcart/docker-core
解决方法:看起来docker-compose不像我想要的那样工作。我需要手动创建一个目录,将docker-compose.yml放在那里,然后运行docker-compose up
。
https://docs.docker.com/compose/wordpress/#define-the-project
我期望运行docker-compose up -d repo/image
就足以下载和运行所有定义的容器
发布于 2017-10-28 22:37:50
要拉取镜像,请使用docker-compose pull <service_name>
,其中service_name
是docker-compose.yml
文件中列出的服务之一
docker pull my/image
失败了,但失败的原因应该与您记录的错误不同(您发布了一个撰写错误)
在您的示例中,my/name
不是有效的服务名称,因为您不能在服务名称中使用/
。Compose会给你一个不同的错误。
我不清楚my/name
代表了什么(假设你用本地的东西替换了它)。
如果你发布你的docker-compose.yml
,它将帮助你确定正确的docker
和docker-compose
命令应该是什么。
发布于 2019-01-15 04:49:40
确保docker
和docker-compose
二进制文件来自同一个包管理器。例如。
$ which -a docker docker-compose
/snap/bin/docker
/snap/bin/docker-compose
换句话说,如果你是从快照安装Docker的,应该已经包含了docker-compose
二进制文件(ls /snap/docker/current/bin/
)。在使用Apt仓库时,docker-compose
可以单独安装,所以不要在Snap和Apt之间交换二进制文件,也不要在Apt上混用docker
和docker.io
包。
发布于 2017-10-28 21:37:23
尝试登录到Docker Hub,以便Docker Compose知道您要从那里提取图像。
从命令行...
docker login
系统将提示您输入用户名和密码。一旦通过身份验证,compose应该在运行docker-compose up
时从Docker Hub中拉出您的镜像。
此外,您还需要从docker-compose.yml
文件所在的同一目录运行docker-compose up
。在Github上查看您的docker-compose.yml
文件时,您似乎遗漏了几行。需要指定版本,gplcart
、db
、phpmyadmin
必须在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
https://stackoverflow.com/questions/46989882
复制相似问题