首页 > 解决方案 > 如何阅读/理解 docker-compose.yml 以及“stdin_open:true tty:true”组件的作用?

问题描述

参加处理这些问题的课程;实际细节与课程无关,但我通常有兴趣尝试理解事物。

我有一个 docker-compose.yml 文件,我“调用”或“启动”。该文件包含以下信息:

services:
  redis:
    image: redis:latest
    expose:
      - "6379"

  sample0395:
    image: sample0395/base:latest
    stdin_open: true
    tty: true
    expose:
      - "8888"
    ports:
      - "8888:8888"

据我了解,并且仅基于如下所示的层次结构:

标签: docker-composeyaml

解决方案


ttystdin_open分别类似于命令的-t-i参数docker run

stdin_open当您需要在 Docker 容器之外的项目上工作时使用。

tty当您需要在 Docker 容器内处理项目时使用。

要对此进行测试,请尝试使用docker-compose up其中一个ttystdin_open两个都运行,您会发现使用stdin_open时不会登录到容器的终端,而使用tty.

至于你关于和之间的区别的问题exposeports答案可以在这里找到。


推荐阅读