在本地主机上使用具有多个项目的相同容器

Posted

技术标签:

【中文标题】在本地主机上使用具有多个项目的相同容器【英文标题】:Using same containers with multiple project on local host 【发布时间】:2017-05-17 16:33:56 【问题描述】:

问题

我的电脑上有几个项目,都是开发的。

几个月前我开始使用 docker,我在项目之间共享一些配置。

我每次都有明确的容器列表。为什么?因为通常我的流程需要看起来像:

    删除所有容器docker rm $(docker ps -a -q) 删除所有图片 - docker rmi $(docker images -q) 运行docker-compose up -d

问题无处不在,我已经定义了 composer(如下面的配置)。当我切换但不删除图像/容器时,我有,composer/composer 容器存在并且不启动。

当然,我使用更多类似的服务,但这很简单。

docker-compose.yml

version: '2'
services:
  php:
    image: php:7.1.3-alpine
    volumes:
      - ./:/app
    working_dir: /app
  composer:
    image: composer/composer
    volumes_from:
      - php
    working_dir: /app

我的环境

Mac OSX 10.11.6 Docker for mac:17.03.1-ce-mac12 (17661)

到现在

搜索文本如:Docker multi use of containers / docker multi projects on local with same container 阅读了一些关于配置的博客,但没有得到提示。

总结

由于主题很广,很多页。 也许我省略了一些对概念或配置的理解。

很高兴获得一些解释和提示,以便更好地管理 docker-compose.yml 这样的文件以及我的过程中出了什么问题。

谢谢。

【问题讨论】:

【参考方案1】:

您的问题不是很清楚,但听起来您正在使用docker-compose 来启动容器,但依靠docker rm/docker rmi 来移除它们。尝试使用 Docker Compose 做所有事情。启动服务:

docker-compose up -d

停止服务,但让流量保持不变:

docker-compose down

关闭服务并销毁卷:

docker-compose down --volumes

https://docs.docker.com/compose/reference/down/

对于您发布的撰写文件,您通常不需要使用docker rm/docker rmi

【讨论】:

也许问题在于,在少数地方使用此配置。然后失望,但随着音量持续存在,当我在其他地方运行docker-compose up -d 时,这会导致崩溃来构建它。将对此进行测试并通知您。

以上是关于在本地主机上使用具有多个项目的相同容器的主要内容,如果未能解决你的问题,请参考以下文章

本地主机上的多个虚拟主机用于开发[关闭]

无法访问本地主机上的 Docker 容器 [重复]

如何将容器中的 symfony 5 DATABASE_URL(在 .env 中)连接到本地主机上的 wamp

本地主机上的 rails 子域

本地主机上的 Apache 虚拟主机

在本地主机上运行 VueJS 应用程序