Cyr*_*tra 2 ubuntu containers docker
我正在使用docker-compose添加新的ubuntu容器,但是该容器一直在重新启动,我不知道为什么...我可以检查的任何线索吗?
这是我的docker-compose服务:
ubuntu:
image: ubuntu
container_name: ubuntu
network_mode: host
restart: unless-stopped
volumes:
- /mnt:/NAS:rw
environment:
- TZ="Asia/Shanghai"
Run Code Online (Sandbox Code Playgroud)
这是docker ps输出:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6c084528838c ubuntu "/bin/bash" 6 minutes ago Restarting (0) 18 seconds ago ubuntu
Run Code Online (Sandbox Code Playgroud)
我在Ubuntu服务器17.04上使用Docker 17.09,并且使用以下别名运行容器:
alias dcrun='docker-compose -f /home/docker-compose.yml'
dcrun up -d ubuntu
Run Code Online (Sandbox Code Playgroud)
谢谢
这是非常期望的,因为您尚未定义任何内容command:或未entrypoint:在docker compose中定义。
默认情况下,Ubuntu映像具有bash命令,因为CMD它实际上不是前台进程。参考-https: //github.com/dockerfile/ubuntu/blob/master/Dockerfile
如果您以互动模式(-i)运行它,则会bash自动进入-
$ docker run -it ubuntu
root@8d6ac0591d88:/#
Run Code Online (Sandbox Code Playgroud)
因此,一旦bash命令退出,容器也会消失,但由于您的restart: unless-stopped策略,Docker守护程序会继续尝试重新启动它。
如果您希望容器通过compose启动并运行,请尝试如下定义前台进程-
ubuntu:
image: ubuntu
container_name: ubuntu
network_mode: host
restart: unless-stopped
volumes:
- /mnt:/NAS:rw
environment:
- TZ="Asia/Shanghai"
command: "tail -f /dev/null"
Run Code Online (Sandbox Code Playgroud)
您的容器现在不会重新启动-
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cee860adf641 ubuntu "tail -f /dev/null" 5 seconds ago Up 3 seconds ubuntu
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1835 次 |
| 最近记录: |