Docker的新手
背景:我编写了一个 docker-compose.yml ,当与 docker-compose up 一起运行时,它将在我的计算机上很好地构建和运行框。注意:我的 docker-compose.yml 下载 Postgres 图片。
version: '3'
services:
api:
image: conference_api
container_name: conference_api
build:
context: .
ports:
- 5000:80
environment:
ASPNETCORE_ENVIRONMENT: Production
depends_on:
- postgres
postgres:
image: postgres:9.6.3
container_name: conference_db
environment:
POSTGRES_DB: conference
POSTGRES_USER: conf_app
POSTGRES_PASSWORD: docker
ports:
- 5432:5432
volumes:
- ./db:/docker-entrypoint-initdb.d
然后我将docker映像发布到docker hub。
在新鲜机器上,我使用 docker pull 提取图像,然后运行它。
我收到错误消息,基本上说“我找不到数据库”。还没有下载Postgres图片。
我的问题:当我提取图像时,如何下载Postgres图像,因为它是我图像的依赖项。
答案 0 :(得分:2)
使用docker-compose pull --include-deps [SERVICE...]
。
--include-deps
还会拉出声明为依赖项的服务
这将要求图像的用户拥有您的docker-compose.yml
文件。
另一种选择是使用docker in docker,因此docker-compose.yml
将在图像中执行。 However, this appears to be discouraged, even by the developer who made this feature possible.