【问题标题】:How to quickly switch between docker environments for development?如何快速切换 docker 环境进行开发?
【发布时间】:2015-11-18 10:36:09
【问题描述】:

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

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

我不想并行运行所有容器,对于某些容器来说这是不可能的,因为它们在同一个端口上侦听。

我还觉得烦人的是,某些容器需要在其中运行脚本才能在开发中正常运行,而我发现自己重复执行相同的命令只是为了切换到项目。

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

如何快速切换 docker 环境?我的目标是只有一条线。

【问题讨论】:

    标签: bash docker development-environment docker-compose


    【解决方案1】:

    我当前的工作流程现在涉及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
    

    现在切换项目变得相当容易。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-28
      • 2014-11-15
      • 2011-04-10
      • 2014-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多