我正在使用docker-compose为开发。在这个过程中,我经常需要构建5个容器(1个用于web服务器,4个用于postgres,redis,mongo等)。 Web服务器容器配置为包含其他容器的链接,它具有自己的ENV变量,来自开发主机的已安装卷。使用docker-compose构建容器,但稍后使用-it选项运行/ etc/bash?
问题是我不需要web容器来运行服务器本身。这是我需要执行/etc/bash
与-it
选项内的Web容器,所有依赖容器创建后。这就是为什么,我对Web容器dockerfile结尾:
CMD /bin/true
显然,这种容器不会在运行,所以我不能用像水木清华
docker exec -it <CONTAINER ID> /bin/bash
为“输入”并运行node app.js
或一些其他任务。
任何方式来构建容器作为docker-compose.yml
文件的一部分,但后来用-it选项运行/ etc/bash?
BTW,我当然可以手动启动独立的Web容器与
docker run \
--link postgres
--link ...
-e "NODE_ENV=development" \
-e ... \
...
...
..
,但这种情况下,我需要追加的各个环节,ENV瓦尔,体积等作为变元的,每次我要去开发应用程序。
你能解释一下你的用例/工作流程吗?似乎不必要的复杂? – johnharris85