docker工人 – 仅组成一个容器

我有一个docker-compose.yml包含几个容器。 其中三个是我的应用程序(客户端,服务器和数据库),其余的是各种开发工具(如psql,npm,manage.py等)。 当我做docker-compose up所有的工作都开始了,但我只想要三个主要的工作。 由于我指定的链接,我可以用docker-compose up client启动这三个,但是输出只能来自一个容器。 那么,有没有办法做到以下一种:

  1. 告诉docker-compose应该由docker-compose up启动哪个容器docker-compose up
  2. docker-compose up client所有链接容器获取输出docker-compose up client

您可以使用以下命令启动容器:

 $ docker-compose up -d client 

这将在后台运行容器,输出将可用

 $ docker-compose logs 

它将包含所有已启动的容器

你通常不想这样做。 使用Docker撰写您定义组成您的应用程序的服务npmmanage.py只是pipe理命令。 你不需要一个容器。 如果您需要使用manage.py创build数据库表,那么您只需要:

 docker-compose run client python manage.py create_db 

可以把它看作Heroku使用的一次性dynamic链接。

如果您确实需要将这些pipe理命令作为单独的容器处理(也可以使用Docker Compose),则可以创build一个单独的.yml文件,并使用以下命令启动Docker Compose:

 docker-compose up -f my_custom_docker_compose.yml