码头工人拉还获得postgres依赖图像?

时间:2020-05-21 18:59:19

标签: postgresql docker docker-compose

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图像,因为它是我图像的依赖项。

1 个答案:

答案 0 :(得分:2)

使用docker-compose pull --include-deps [SERVICE...]

根据documentation

--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.