如何在docker环境之间快速切换以进行开发?

时间:2015-11-18 10:36:10

标签: bash docker development-environment docker-compose

我有多个项目需要定期切换。这些项目是通过docker-compose设置的,但有些项目需要外部容器才能使用。

因此,为了在项目中运行docker-compose up -d,我必须首先切换到另一个目录并在那里启动一些基本服务容器(mysql,redis等的共享实例)。

我不想并行运行所有容器,对于某些容器,它们不可能在同一端口上监听。

我也觉得烦恼的是,为了在开发中正常运行,某些容器需要在其中运行脚本,并且我发现自己重复执行相同的命令只是为了切换到项目。 / p>

我认为这可以自动化,我只是不确定如何解决这个问题。

如何设法快速切换泊坞窗环境?我的目标是只有一个单行。

1 个答案:

答案 0 :(得分:5)

我目前的工作流程现在涉及desk

对于每个项目,我已经通过以下方式初始化了一个桌面:

desk edit project_a

然后我运行了我手动完成的所有步骤,例如:

ponysay "INIT PROJECT A"
docker stop $(docker ps -a -q) # stopping all the running containers
cd ~/src/docker-compose/basic-services 
docker-compose up -d
cd ~/src/project_a
docker-compose up -d
docker exec -it project_a_container_name /var/www/project_a/docker/scripts/dev-init.sh

我通过以下方式在环境之间切换:

desk . project_a
desk . project_b

现在转换项目变得非常容易。