我将同时为服务器和客户端开发,并使用Docker容器进行设计。我使用Docker Compose将它们链接起来,这对生产环境非常有效,但是我无法想出如何在开发工作流中使其正常工作,其中每个都有一个运行的shell。
我的docker-compose-devel.yml文件:
我可以执行
我想在一个窗口中执行
我唯一想出来的解决方法是使用
我的docker-compose-devel.yml文件:
server:
image: node:0.10
client:
image: node:0.10
links:
- server
我可以执行
docker-compose up client
甚至 docker-compose run client
,但我想要一个同时运行服务器和客户端的Shell环境,这样我就能够在开发迭代期间快速更改两个内容。我想在一个窗口中执行
docker-compose run server bash
,在另一个窗口中执行docker-compose run --no-deps client bash
。但使用docker-compose run
而不是up
会导致服务器的地址没有被添加到客户机的/etc/hosts
中。我唯一想出来的解决方法是使用
docker run
,然而这样我就需要放弃使用Docker Compose进行开发。是否有更好的方法?
docker compose up
(不带-d选项),您将能够观看标准输出。我提到了docker exec
,但这是可选的,仅在您想出于任何原因在容器中执行某个命令时才需要它。 - Alexis N-o