Sim*_*ons 5 docker docker-compose ubuntu-18.04
我可以使用以下 docker 命令运行 docker 容器:
docker run -it ubuntu /bin/bash
Run Code Online (Sandbox Code Playgroud)
现在我正在尝试使用 docker-compose 来做到这一点:
version: "3"
services:
ubuntu:
container_name: ubuntu
image: ubuntu
restart: on-failure
command: "/bin/bash"
Run Code Online (Sandbox Code Playgroud)
现在当我这样做时:
docker-compose up -d
Run Code Online (Sandbox Code Playgroud)
可以看到docker容器立即启动和退出。
我试着查看日志:
docker logs b8 //b8 is container id
Run Code Online (Sandbox Code Playgroud)
但是没有错误日志。
如何使用 docker 让 ubuntu 容器在后台运行。(我在 windows 上使用 docker,linux 版本)
Mar*_*CRA 11
这是正常的。
您正在使用bash
as 命令启动一个 ubuntu 容器(因此是根进程)。问题是要保持 bash活动,您需要将其与终端连接。这就是为什么当您想在容器中获取bash 时,您正在使用-ti
您的命令:
docker container exec -ti [my_container_id] bash
Run Code Online (Sandbox Code Playgroud)
因此,如果您想让 ubuntu 容器保持活动状态并且不想将其附加到终端,则必须使用一个可以随心所欲地保持活动状态的进程。
下面是一个示例,sleep infinity
作为您的主要流程
version: "3"
services:
ubuntu:
container_name: ubuntu
image: ubuntu
restart: on-failure
command: ["sleep","infinity"]
Run Code Online (Sandbox Code Playgroud)
在这个例子中,你的容器将无限期地保持运行。
归档时间: |
|
查看次数: |
3157 次 |
最近记录: |