簡體   English   中英

如何在 docker 中使用 yaml env 文件

[英]How to use yaml env file in docker compose

我的 .env 文件為 yaml 格式,換句話說,我有development.yaml文件,其中包括以下內容:

server:
  port: 3000
  apiPrefix: api/v1
  swagger:
    title: Test
    description: test description
    version: 1.0
    api: /docs
database:
  name: test
  autoLoadModels: true
  synchronize: false
  dialect: postgres

和內部docker-compose.yaml

version: '3.8'
services:
  dev:
    env_file:
      - config/development.yaml
    container_name: test_development_api_docker_container
    image: test_development_api_docker_container:1.0.0
    build:
      context: .
      target: testDevelopmentEnv
      dockerfile: ./Dockerfile
    command: npm run start:debug
    ports:
      - ${port}:${port}
    networks:
      - test_network
    volumes:
      - .:/Users/falyoun/dev/ite/test
      - /Users/falyoun/dev/ite/test/node_modules
    restart: unless-stopped

networks:
  test_network:

在上面的文件中我試過:

  • ${端口}

  • ${服務器端口}

和所有原因的問題,如

錯誤:服務“dev”中“ports”選項的插值格式無效:“${server.port}:${server.port}”

或者

錯誤:Compose 文件“./docker-compose.yaml”無效,因為:services.dev.ports 包含無效類型,它應該是數字或 object

在嘗試任何事情之前,您應該從以下位置切換:

docker-compose

至:

docker compose 

docker-compose 工具已被棄用,目前是通過 apt install 安裝的相當陳舊的版本 (1.25.X)。 相反,您應該從計算機中刪除 docker-compose 並安裝 docker-compose-plugin(截至今天的最新版本是 2.6.X)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM