首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不可能在macOS上重定向坞组合macOS的输出

不可能在macOS上重定向坞组合macOS的输出
EN

Stack Overflow用户
提问于 2022-02-08 06:41:36
回答 1查看 348关注 0票数 0

跑步时:

代码语言:javascript
运行
复制
docker-compose up -d
docker-compose exec test echo hello > /dev/null 2> /dev/null

其中docker-compose.yml是:

代码语言:javascript
运行
复制
version: "3.9"

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

终端仍然显示:

代码语言:javascript
运行
复制
hello

虽然我希望它不会显示任何东西(因为stdout和stderr都被重定向到/dev/null)。

程序如何在不经过stdout/stderr的情况下在终端上显示任何内容?

编辑:看来码头-撰写:https://github.com/docker/compose/issues/9104上出现了一个问题

调查

这个问题不存在于docker-compose v1中:

代码语言:javascript
运行
复制
docker-compose-v1 exec test echo hello > /dev/null

什么都不输出。

当强制不使用伪tty时,不存在此问题:

代码语言:javascript
运行
复制
docker-compose exec -T test echo hello > /dev/null

什么都不输出。

直接使用docker时不存在此问题:

代码语言:javascript
运行
复制
docker run ubuntu echo hello > /dev/null

什么都不输出。

即使在强制使用假名时:

代码语言:javascript
运行
复制
docker run -it ubuntu echo hello > /dev/null

OS和Docker版本

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

OS = macOS 11.6.3

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-02 13:33:33

我相信这个问题已经解决了。我刚刚用版本2.6.1对它进行了测试,它没有显示任何输出。

代码语言:javascript
运行
复制
❯ 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处理器

作为附带说明,码头组成的v2已于2022年4月下旬普遍推出。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71029547

复制
相关文章

相似问题

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