Docker 命令转 Compose 的一个小问题

2022-11-23 11:02:00 +08:00
 remember5

系统环境:Macos 12.6, Docker 4.13.1, docker-compose 1.29.2

背景: 希望运行一个基本的 centos 镜像,测试操作一些 bash 命令

问题描述: docker run 可以运行成功,docker-compose 运行报错,且无日志信息

复现过程:

docker run 方式,在 terminal 运行以下命令

docker run -itd --name centos-test centos:centos7

docker-compose 使用composerize 转换后结果为

version: '3.3'
services:
    centos:
        container_name: centos-test
        image: 'centos:centos7'

执行命令,运行状态为 Exited

docker-compose up -d

docker-compose logs -f 日志内容:

Attaching to centos-test
centos-test exited with code 0 docker-credential-ecr-login

v2er 的大佬们,我该如何排查此问题呢

1309 次点击
所在节点    Docker
5 条回复
singerll
2022-11-23 11:06:02 +08:00
主要是-it 这个参数的问题吧
ThirdFlame
2022-11-23 11:08:33 +08:00
-it 就直接进入到容器内了。

docker-compose 运行后,发现程序执行完就推出了,所以容易就 exit 了。
also24
2022-11-23 11:09:54 +08:00
LemonPrefect
2022-11-23 11:10:17 +08:00
compose.yml 加上 tty: ttue
remember5
2022-11-23 11:13:49 +08:00
@singerll #1
@ThirdFlame #2
@also24 #3
@LemonPrefect #4
按照 3L 大佬发的链接中加入一些参数,可正常运行,感谢各位大佬
```
stdin_open: true # docker run -i
tty: true # docker run -t
```

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/897279

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX