gpt4 book ai didi

docker - 使用 docker compose 在后台运行 ubuntu 容器

转载 作者:行者123 更新时间:2023-12-02 18:45:49 45 4
gpt4 key购买 nike

我可以使用以下 docker 命令运行 docker 容器:

docker run -it  ubuntu /bin/bash

现在我正在尝试使用 docker-compose 来做到这一点:
version: "3"
services:
ubuntu:
container_name: ubuntu
image: ubuntu
restart: on-failure
command: "/bin/bash"

现在当我这样做时:
 docker-compose up -d

可以看到docker容器立即启动和退出。

我试着查看日志:
docker logs b8 //b8 is container id

但是没有错误日志。

如何使用 docker 让 ubuntu 容器在后台运行。
(我在 windows 上使用 docker,linux 版本)

最佳答案

这是正常的。

您正在使用 bash 启动一个 ubuntu 容器作为命令( 因此根进程 )。问题是要保持 bash 事件,您需要将其与终端连接。这就是为什么当您想在容器中获取 bash 时,您使用的是 -ti用你的命令:

docker container exec -ti [my_container_id] bash

因此,如果您想让 ubuntu 容器保持事件状态并且不想将其附加到终端,则必须使用一个可以随心所欲地保持事件状态的进程。
以下是 sleep infinity 的示例作为您的主要流程
version: "3"
services:
ubuntu:
container_name: ubuntu
image: ubuntu
restart: on-failure
command: ["sleep","infinity"]

在这个例子中,你的容器将无限期地保持运行。

关于docker - 使用 docker compose 在后台运行 ubuntu 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60260437/

45 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com