簡體   English   中英

無法在 macOS 上重定向 docker-compose v2 的 output

[英]Impossible to redirect output of docker-compose v2 on macOS

運行時:

docker-compose up -d
docker-compose exec test echo hello > /dev/null 2> /dev/null

其中docker-compose.yml是:

version: "3.9"

services:
  test:
    image: ubuntu
    command: tail -f /dev/null

終端仍然顯示:

hello

雖然我希望它什么都不顯示(因為 stdout 和 stderr 都被重定向到 /dev/null)。

程序如何在不通過 stdout/stderr 的情況下在終端上顯示任何內容?

編輯:docker-compose 上似乎存在一個問題: https://github.com/docker/compose/issues/9104

調查

docker-compose v1 不存在此問題:

docker-compose-v1 exec test echo hello > /dev/null

什么都不輸出。

強制不使用偽 tty 時不存在該問題:

docker-compose exec -T test echo hello > /dev/null

什么都不輸出。

直接使用docker時不存在此問題:

docker run ubuntu echo hello > /dev/null

什么都不輸出。

即使強制使用假名:

docker run -it ubuntu echo hello > /dev/null

操作系統和Docker版本

$ docker version
Client:
 Cloud integration: v1.0.22
 Version:           20.10.12
 API version:       1.41
 Go version:        go1.16.12
 Git commit:        e91ed57
 Built:             Mon Dec 13 11:46:56 2021
 OS/Arch:           darwin/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.12
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.12
  Git commit:       459d0df
  Built:            Mon Dec 13 11:43:56 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.12
  GitCommit:        7b11cfaabd73bb80907dd23182b9347b4245eb5d
 runc:
  Version:          1.0.2
  GitCommit:        v1.0.2-0-g52b36a2
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

$ docker-compose version
Docker Compose version v2.2.3

操作系統 = macOS 11.6.3

我相信這已經解決了。 我剛剛用 docker-compose 版本 2.6.1 對其進行了測試,它沒有顯示任何 output。

❯ docker-compose up --build --force-recreate -d
[+] Running 2/2
 ⠿ Network docker-test_default   Created                                                                                                                                                                                                                                 0.1s
 ⠿ Container docker-test-test-1  Started                                                                                                                                                                                                                                 0.5s
❯ docker-compose exec test echo hello > /dev/null 2> /dev/null

❯ docker version
Client:
 Cloud integration: v1.0.24
 Version:           20.10.17
 API version:       1.41
 Go version:        go1.17.11
 Git commit:        100c701
 Built:             Mon Jun  6 23:04:45 2022
 OS/Arch:           darwin/arm64
 Context:           default
 Experimental:      true

Server: Docker Desktop 4.10.1 (82475)
 Engine:
  Version:          20.10.17
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.17.11
  Git commit:       a89b842
  Built:            Mon Jun  6 23:01:01 2022
  OS/Arch:          linux/arm64
  Experimental:     false
 containerd:
  Version:          1.6.6
  GitCommit:        10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
 runc:
  Version:          1.1.2
  GitCommit:        v1.1.2-0-ga916309
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

❯ docker-compose version
Docker Compose version v2.6.1
❯

macOS = 12.3.1; M1處理器

作為旁注, Docker-compose v2 已於 2022 年 4 月下旬全面上市

暫無
暫無

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

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