V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
remember5
V2EX  ›  Docker

Docker 命令转 Compose 的一个小问题

  •  
  •   remember5 · 2022-11-23 11:02:00 +08:00 · 1297 次点击
    这是一个创建于 735 天前的主题,其中的信息可能已经有所发展或是发生改变。

    系统环境: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 的大佬们,我该如何排查此问题呢

    5 条回复    2022-11-23 11:13:49 +08:00
    singerll
        1
    singerll  
       2022-11-23 11:06:02 +08:00
    主要是-it 这个参数的问题吧
    ThirdFlame
        2
    ThirdFlame  
       2022-11-23 11:08:33 +08:00
    -it 就直接进入到容器内了。

    docker-compose 运行后,发现程序执行完就推出了,所以容易就 exit 了。
    LemonPrefect
        4
    LemonPrefect  
       2022-11-23 11:10:17 +08:00 via Android
    compose.yml 加上 tty: ttue
    remember5
        5
    remember5  
    OP
       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
    ```
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4127 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 05:18 · PVG 13:18 · LAX 21:18 · JFK 00:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.