docker – 组成起来的容器,并立即停止它们

我正在尝试使用docker-compose构build服务,但使用docker-compose开始的容器在撰写脚本结束时立即停止。 但是,当我创build容器使用docker运行相同的服务图像它正在工作。

这是我写的脚本:

version: '2.1' networks: composetestnetwork: driver: bridge ipam: driver: default config: - subnet: 172.19.0.0/16 gateway: 172.19.0.1 services: composetestdb: build: context: . dockerfile: Dockerfile-testdb cap_add: - ALL container_name: my-db-compose-container labels: db.description: "This is a test db" volumes: - c:/Users:/data networks: composetestnetwork: ipv4_address: 172.19.0.5 ports: - "3306:3306" command: 'bash' 

可以做些什么来解决这个问题。

如果您使用bash作为command ,但没有terminal,它将立即退出。 这是因为当bash启动时,如果没有连接terminal,并且没有脚本或其他命令来执行,它就无关紧要,因此它退出(按devise)。

您可以使用不同的command ,或者使用tty: true作为此服务定义的一部分附加terminal。

 services: composetestdb: tty: true ...