首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有显示链接控制台输出的Docker组合

没有显示链接控制台输出的Docker组合
EN

Stack Overflow用户
提问于 2017-04-22 17:59:26
回答 2查看 2.5K关注 0票数 3

docker-compose up没有显示我所有服务的日志输出(stdout)。

当我手动运行容器时,我得到输出:

代码语言:javascript
复制
$ docker run -it simple/cra-products /usr/local/bin/cra-products
[Info#INIT] cra-products
[Info#CONFIG] loadConfig
...

但是,当我运行它与坞-撰写,输出停止在附加。

代码语言:javascript
复制
$ docker-compose up cra-products
underwriting_cra-products_1 is up-to-date
Attaching to underwriting_cra-products_1

我已经验证了它是否开着,并且正在工作(我的其他服务可以连接到它)。我只是看不到日志输出。

日志输出确实适用于另一个容器。

代码语言:javascript
复制
$ 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-产品。

下面是停靠-撰写文件:

代码语言:javascript
复制
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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-22 21:50:37

将服务设置为按行缓冲标准输出解决了问题。

票数 -2
EN

Stack Overflow用户

发布于 2017-04-23 21:30:04

现在不再推荐通过链接连接服务,在Docker的文档中可以看到:https://docs.docker.com/compose/link-env-deprecated/

如文件所述:

相反,您应该使用链接名称(默认情况下,链接服务的名称)作为要连接到的主机名。

为了快速说明这一点,我用jadametz/dpat (它只返回主机名)和nginx:stable-alpine组合了一个简单的示例。

代码语言:javascript
复制
version: '3'
services:
  dpat:
    image: jadametz/dpat
    ports:
      - 8081:80

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

现在,在nginx容器中(在安装curl之后),您可以看到,只需引用其他服务,我们就可以得到响应。

代码语言:javascript
复制
[04:24 PM]~/projects ➭ docker exec -it desktop_nginx_1 ash
/ # curl http://dpat
{
  "node": "809250c001c8"
}

因此,对于您的docker-compose.yml文件,您很可能只需进行以下操作:

代码语言:javascript
复制
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"
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43562687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档