我正在开发一个服务器和它的客户端,我在Docker容器中设计它们。我正在使用Docker Compose将它们连接起来,它对于生产来说工作得很好,但我无法弄清楚如何使它与开发工作流程一起工作,在这个工作流程中我已经为每个工作流程运行了一个shell。使用Docker Compose开发服务器和客户端的工作流程?
我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
。问题在于没有将地址添加到客户端/etc/hosts
上,因为我使用的是docker-compose run
而不是up
。
我唯一能找到的解决方案是使用docker run
并放弃Docker Compose进行开发。有没有更好的办法?
谢谢。我喜欢使用Forever的建议。我不喜欢独立运行shell的想法,因为我想观看我的服务器的标准输出。 –
使用'docker compose up'(不带-d选项),您将能够观看标准输出。我提到'docker exec',但它是可选的,只有当你想在容器中执行某些命令时出于任何原因。 –
是的,我在我的问题中提到过,但我想要一个用于服务器和客户端的交互式shell。 –