Docker compose不启动容器
我是docker compose的新手。当我使用命令“docker compose up-d”启动多容器应用程序时,我遇到了一个问题,应该如何启动状态为“up”的容器,但每次执行命令时,状态都是“Exit”,我不确定我是否做错了什么,这是我的docker-compose.yml文件Docker compose不启动容器,docker,docker-compose,Docker,Docker Compose,我是docker compose的新手。当我使用命令“docker compose up-d”启动多容器应用程序时,我遇到了一个问题,应该如何启动状态为“up”的容器,但每次执行命令时,状态都是“Exit”,我不确定我是否做错了什么,这是我的docker-compose.yml文件 version: '3' services: catalog: image: ciscatalog hostname: catalogHost command: hostname
version: '3'
services: catalog:
image: ciscatalog
hostname: catalogHost
command: hostname
volumes:
- /home/docker:/opt/host
container:
image: dis/ciscontainer
hostname: containerHost
command: hostname
volumes:
- /home/docker:/opt/host
inbound:
image: dsi/cisinbound
hostname: inboundHost
depends_on:
- catalog
links:
- catalog
command: hostname
volumes:
- /home/docker:/opt/host
outbound:
image: dsi/cisoutbound
hostname: outboundHost
depends_on:
- catalog
links:
- catalog
command: hostname
volumes:
- /home/docker:/opt/host
运行示例:
root@docker1:/home/docker/DSI# docker-compose scale catalog=3 container=4 inbound=1 outbound=1
Creating and starting dsi_catalog_1 ... done
Creating and starting dsi_catalog_2 ... done
Creating and starting dsi_catalog_3 ... done
Creating and starting dsi_container_1 ... done
Creating and starting dsi_container_2 ... done
Creating and starting dsi_container_3 ... done
Creating and starting dsi_container_4 ... done
Creating and starting dsi_inbound_1 ... done
Creating and starting dsi_outbound_1 ... done
root@docker1:/home/docker/DSI# docker-compose up -d
Starting dsi_container_4
Starting dsi_catalog_3
Starting dsi_catalog_1
Starting dsi_container_3
Starting dsi_catalog_2
Starting dsi_container_1
Starting dsi_outbound_1
Starting dsi_inbound_1
Starting dsi_container_2
root@docker1:/home/docker/DSI# docker-compose ps
Name Command State Ports
-------------------------------------------
dsi_catalog_1 hostname Exit 0
dsi_catalog_2 hostname Exit 0
dsi_catalog_3 hostname Exit 0
dsi_container_1 hostname Exit 0
dsi_container_2 hostname Exit 0
dsi_container_3 hostname Exit 0
dsi_container_4 hostname Exit 0
dsi_inbound_1 hostname Exit 0
dsi_outbound_1 hostname Exit 0
拜托,有人能帮我吗?docker compose 1.13版。我想我明白了:您正在重写docker文件中给出的命令,因为您在每个服务中都有这一行
command: hostname
因此,您给出的唯一命令是“hostname”,它实际上是运行的
如果您使用docker运行图像,那么您可能正在运行一个完全不同的命令
如果这是一个基于linux的映像,“hostname”将只打印主机名,然后退出。因此,命令停止,这在逻辑上会导致容器停止(退出0)
删除命令覆盖,使容器实际运行各自的命令。可能只是您的图像吗?如果图像实际上没有启动某些内容(例如,它们没有要运行的内容,或者任何运行停止的内容),那么它们要做的合乎逻辑的事情就是停止。OK。这些图像在我的机器中,我创建了那个些图像,当我定义一个名称不存在的图像时,docker compose会给我一条并没有现有图像的消息。我不确定你们的意思。上面看起来完全正常:阅读例如。很可能是您的图像什么都不做,所以docker compose会根据您的请求启动它们,但由于它们什么都不做,它们会退出(状态为“无错误”)。我的意思是,这是我自己的图像,当我在docker-compose.yml中定义一个不存在的图像时,docker compose会给出一个错误。如果使用命令“docker run…”运行这些图像,它们会完美运行,并且使用“docker start”时,状态为“up”,因此,图像存在。