簡體   English   中英

如何訪問 docker-compose.yml 中的其他容器 ID?

[英]How to access other container id inside docker-compose.yml?

我有一個 docker-compose.yml 文件如下的情況

version: '3'

services:

  database:
    image: mcr.microsoft.com/mssql/server:2017-latest
    environment:
      - SA_PASSWORD=king@1234
      - ACCEPT_EULA=Y
    ports:
      - "8110:1433"
    container_name: app_db_con

  api:
    build:
      context: /home/shubham/Employee/EmployeeBackEnd/
    image: app-api:dev
    ports:
      - "8111:5001"
    container_name: app_api_con
    depends_on:
      - database

  web:
    build:
      context: /home/shubham/Employee/EmployeeFrontEnd/
    image: app-ui:dev
    ports:
      - "8112:80"
    container_name: app_web_con
    depends_on:
      - database
      - api

我想訪問我的api容器內的數據庫容器 ID 作為參數。 例如下面代碼中的參數:

  api:
    build:
      context: /home/shubham/Employee/EmployeeBackEnd/
    image: app-api:dev
    args:
      - Database_Server: database_container_id
    ports:
      - "8111:5001"
    container_name: app_api_con
    depends_on:
      - database

我不確定如何實現這一目標。 如果有不同的方法,請幫助。

謝謝你

默認情況下,使用 docker-compose,每個容器都可以通過 compose 文件中定義的服務名稱訪問。

例如,在您的情況下,如果您想從api訪問database容器,您只需要使用它的名稱。 你可以用這個命令試試看:

$ docker container exec -ti [your_api_container] ping database

有關 compose 網絡的更多信息,您可以查看官方文檔

暫無
暫無

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

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