Docker 运行 Docker 撰写文件中的选项?
Docker Run Options in a Docker Compose File?
我有一道 Docker Compose 101 问题。我可以用 docker run
:
启动一个简单的 Docker 容器
me@host1:~/dc$
me@host1:~/dc$ sudo docker run -dit --name myContainer 54c9d81cbb44
60d254728f0a763bdda3078bd1c708176ca21e3eced475cb7e2c3edc7859a12c
me@host1:~/dc$
me@host1:~/dc$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
60d254728f0a 54c9d81cbb44 "bash" 2 minutes ago Up 2 minutes myContainer
me@host1:~/dc$
简单!那么,我将上面的内容翻译成一个 docker-compose.yaml
文件:
version: "2"
services:
myService:
container_name: myContainer2
image: 54c9d81cbb44
当我运行上述文件时,容器立即退出:
me@host1:~/dockerCompose$
me@host1:~/dockerCompose$ sudo docker-compose up
Creating myContainer2 ...
Creating myContainer2 ... done
Attaching to myContainer2
myContainer2 exited with code 0
me@host1:~/dockerCompose$
me@host1:~/dockerCompose$
me@host1:~/dockerCompose$ sudo docker ps --all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
110f648fadbe 54c9d81cbb44 "bash" 14 seconds ago Exited (0) 13 seconds ago myContainer2
60d254728f0a 54c9d81cbb44 "bash" 6 minutes ago Up 6 minutes myContainer
me@host1:~/dockerCompose$
(即使我尝试在没有 myContainer 运行ning 的情况下启动 myContainer2 时也会发生上述情况。)
那么是什么原因呢?我很想说 docker 运行 "-dit
" 选项在这里有所不同;这是我在 docker run
和 docker-compose
版本之间看到的唯一区别。我一直在谷歌搜索“How to set docker 运行 options in docker-compose file”一个小时,但提取的信息是不适用于此处。我显然缺少一些基本的东西。有人看到什么了吗?谢谢。
如果您将 stdin_open
和 tty
设置为 true,它会一直运行。这些等同于 i
和 t
选项。
version: "2"
services:
myService:
container_name: myContainer2
image: 54c9d81cbb44
stdin_open: true
tty: true
启动容器 docker-compose up -d
到 运行 它分离。
我有一道 Docker Compose 101 问题。我可以用 docker run
:
me@host1:~/dc$
me@host1:~/dc$ sudo docker run -dit --name myContainer 54c9d81cbb44
60d254728f0a763bdda3078bd1c708176ca21e3eced475cb7e2c3edc7859a12c
me@host1:~/dc$
me@host1:~/dc$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
60d254728f0a 54c9d81cbb44 "bash" 2 minutes ago Up 2 minutes myContainer
me@host1:~/dc$
简单!那么,我将上面的内容翻译成一个 docker-compose.yaml
文件:
version: "2"
services:
myService:
container_name: myContainer2
image: 54c9d81cbb44
当我运行上述文件时,容器立即退出:
me@host1:~/dockerCompose$
me@host1:~/dockerCompose$ sudo docker-compose up
Creating myContainer2 ...
Creating myContainer2 ... done
Attaching to myContainer2
myContainer2 exited with code 0
me@host1:~/dockerCompose$
me@host1:~/dockerCompose$
me@host1:~/dockerCompose$ sudo docker ps --all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
110f648fadbe 54c9d81cbb44 "bash" 14 seconds ago Exited (0) 13 seconds ago myContainer2
60d254728f0a 54c9d81cbb44 "bash" 6 minutes ago Up 6 minutes myContainer
me@host1:~/dockerCompose$
(即使我尝试在没有 myContainer 运行ning 的情况下启动 myContainer2 时也会发生上述情况。)
那么是什么原因呢?我很想说 docker 运行 "-dit
" 选项在这里有所不同;这是我在 docker run
和 docker-compose
版本之间看到的唯一区别。我一直在谷歌搜索“How to set docker 运行 options in docker-compose file”一个小时,但提取的信息是不适用于此处。我显然缺少一些基本的东西。有人看到什么了吗?谢谢。
如果您将 stdin_open
和 tty
设置为 true,它会一直运行。这些等同于 i
和 t
选项。
version: "2"
services:
myService:
container_name: myContainer2
image: 54c9d81cbb44
stdin_open: true
tty: true
启动容器 docker-compose up -d
到 运行 它分离。