docker-compose 启动后运行命令

Pre*_*cks 6 docker docker-compose

我有以下 docker-compose 文件

version: '3.2'
services:
  nd-db:
    image: postgres:9.6
    ports:
      - 5432:5432
    volumes:
      - type: volume
        source: nd-data
        target: /var/lib/postgresql/data
      - type: volume
        source: nd-sql
        target: /sql
    environment:
      - POSTGRES_USER="admin"

  nd-app:
    image: node-docker
    ports:
      - 3000:3000
    volumes:
      - type: volume
        source: ndapp-src
        target: /src/app
      - type: volume
        source: ndapp-public
        target: /src/public
    links:
      - nd-db

volumes:
  nd-data:
  nd-sql:
  ndapp-src:
  ndapp-public:
Run Code Online (Sandbox Code Playgroud)

nd-app 包含migrations.sql 和seeds.sql 文件。我想在容器启动后运行它们。

如果我手动运行命令,它们会看起来像这样

docker exec nd-db psql admin admin -f /sql/migrations.sql
docker exec nd-db psql admin admin -f /sql/seeds.sql
Run Code Online (Sandbox Code Playgroud)

Dan*_*ler 0

有效吗docker-composer -f path/to/config.yml name_of_container nd-db psql admin admin -f /sql/migrations.sql

\n\n

I\xe2\x80\x99ve 发现从笔记本电脑运行命令时必须指定配置和容器。

\n