我有多个项目需要定期切换。这些项目是通过docker-compose
设置的,但有些项目需要外部容器才能使用。
因此,为了在项目中运行docker-compose up -d
,我必须首先切换到另一个目录并在那里启动一些基本服务容器(mysql,redis等的共享实例)。
我不想并行运行所有容器,对于某些容器,它们不可能在同一端口上监听。
我也觉得烦恼的是,为了在开发中正常运行,某些容器需要在其中运行脚本,并且我发现自己重复执行相同的命令只是为了切换到项目。 / p>
我认为这可以自动化,我只是不确定如何解决这个问题。
如何设法快速切换泊坞窗环境?我的目标是只有一个单行。
答案 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
现在转换项目变得非常容易。