gpt4 book ai didi

docker - 如何在同一主机上为多个开发人员设置多个 docker 容器?

转载 作者:行者123 更新时间:2023-12-02 17:53:04 33 4
gpt4 key购买 nike

我需要使用 Docker 设置一个开发人员框,这意味着我将拥有:

  • 运行相同环境的不同容器
  • 不同的开发人员访问每个容器

  • 这是一个设置,其中多个容器将在“中央服务器”中运行,开发人员将通过 SSH 或 Samba 或任何其他方式(尚未定义)连接到这个“中央服务器”。

    以此为一个小例子:
    /home/dev1/sources
    /home/dev2/sources

    cont_dev1 (volumes) => /home/dev1/sources:/var/www/html | port: 8080 | URL: http://dev1.box.com
    cont_dev2 (volumes) => /home/dev2/sources:/var/www/html | port: 8081 | URL: http://dev2.box.com
    box.com是分配给“中央服务器”的外部 IP 地址的域。

    这背后的想法不是在服务器本身上安装开发工具,这样我们就可以利用 Docker 的优势(在工具之间轻松切换,仅举一个)。

    我以前从未这样做过,所以我目前的问题/问题是:
  • 我应该如何在容器上设置网络,以便每个开发人员通过自己的域进行访问?例如:dev1.box.com(将访问 cont_dev1)、dev2.box.com(将访问 cont_dev2)等等
  • 我担心如果我正在运行 Apache|Nginx 网络服务器,我需要将每个 docker 容器映射到不同的端口,或者我错了?

  • 我很确定我的猜测在第二点上是正确的,但对于第一点,我不知道如何实现它。任何例子都会对我有很大帮助,我将不胜感激。

    最佳答案

    您可以为开发人员框中的每个开发人员创建一个 docker-machine
    $ docker-machine create
    (文档:https://docs.docker.com/machine/reference/create/)

    您可以在此处阅读如何创建 docker 机器:https://docs.docker.com/machine/get-started/

    在你这样做之后,每个开发人员都可以通过 ssh 连接到他的 docker-machine,使用
    $ docker-machine ssh <machineName>
    命令。 (Docker 文档:https://docs.docker.com/machine/reference/ssh/)

    也应该可以使用开发人员盒子上的机器像他本地的那样使用
    $ docker-machine env
    命令。 (Docker 文档:这里:https://docs.docker.com/machine/reference/env/)

    希望对您有所帮助或让您知道您可以做什么。

    此致,
    卡勒

    关于docker - 如何在同一主机上为多个开发人员设置多个 docker 容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43763021/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com