簡體   English   中英

Docker組成不顯示鏈接的控制台輸出

[英]Docker compose up not showing console output for link

docker-compose up沒有顯示我所有服務的日志輸出(stdout)。

手動運行容器時得到輸出:

$ docker run -it simple/cra-products /usr/local/bin/cra-products
[Info#INIT] cra-products
[Info#CONFIG] loadConfig
...

但是,當我使用docker-compose運行它時,輸出在附加時停止。

$ docker-compose up cra-products
underwriting_cra-products_1 is up-to-date
Attaching to underwriting_cra-products_1

我已驗證它已打開並且正在運行(我的其他服務可以連接到它)。 我只是看不到日志輸出。

日志輸出對其他容器起作用。

$ docker-compose up underwriting
underwriting_cra-products_1 is up-to-date
Starting underwriting_underwriting_1
Attaching to underwriting_underwriting_1
underwriting_1  | HELLO
...

我究竟做錯了什么? 我想查看所有容器的日志。

調用docker-compose stopdocker-compose rm並重新啟動無法解決該問題。 也不將docker-compose up -ddocker-compose logs cra產品仍然沒有產量。

這是docker-compose文件:

version: "3"

services:

  underwriting:

    image: simple/underwriting

    command: /usr/local/bin/underwriting

    links:
    - cra-products

    ports:
    - "8011:8011"

    environment:
      - UNDERWRITING_PORT=8081
      - CRA_PRODUCTS_ENDPOINT=http://cra-products:8081

  cra-products:
    image: simple/cra-products:latest
    command: /usr/local/bin/cra-products
    ports:
    - "8081:8081"

    environment:
      - CRA_PRODUCTS_PORT=8081

通過按行設置服務以緩沖stdout可以解決此問題。

現在已棄用通過鏈接連接服務,如在Docker文檔中所示: https : //docs.docker.com/compose/link-env-deprecated/

如文檔所述:

相反,您應該使用鏈接名稱(默認情況下為鏈接服務的名稱)作為要連接的主機名。

為了快速說明這一點,我用jadametz/dpat (僅返回主機名)和nginx:stable-alpine組成了一個簡單示例。

version: '3'
services:
  dpat:
    image: jadametz/dpat
    ports:
      - 8081:80

  nginx:
    image: nginx:stable-alpine
    ports:
      - 8082:80

現在,從nginx容器中(並在安裝curl之后),您可以看到只要引用其他服務,我們就能獲得響應。

[04:24 PM]~/projects ➭ docker exec -it desktop_nginx_1 ash
/ # curl http://dpat
{
  "node": "809250c001c8"
}

因此,對於您docker-compose.yml文件,您可以簡單地將其簡化為以下內容:

version: "3"
services:
  underwriting:
    image: simple/underwriting
    command: /usr/local/bin/underwriting
    ports:
      - "8011:8011"

  cra-products:
    image: simple/cra-products:latest
    command: /usr/local/bin/cra-products
    ports:
      - "8081:8081"

暫無
暫無

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

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