【问题标题】:Is it possible to run multiple containers on Docker to run a common service?是否可以在 Docker 上运行多个容器来运行公共服务?
【发布时间】:2018-10-15 04:32:36
【问题描述】:

我对 Docker 很陌生,我遇到的最大问题是:

所以我问自己是否可以运行多个连接它们的容器(我看到有可能在 Docker 上创建一个网络,但我不知道它的局限性)并像 LAMP 一样作为单一服务运行.换句话说:

  1. Apache2 + PHP -> 与容器 nº2 连接 ||通过端口转发连接的主机。
  2. MySQL + PhpMyAdmin -> 与容器 nº1 连接

我仍然对 Docker 能做或不能做的所有事情感到非常困惑。

【问题讨论】:

    标签: docker containers lamp


    【解决方案1】:

    您可以通过将容器放在同一个网络中来实现这一点。

    在主机上(包含数据库):

    # docker-compose.yml
        services:
          db:
            mediawiki_db:
              image: mariadb
              networks:
                - mediawiki
              ports:
                - 3306:3306
        networks:
          mediawiki:
            driver: bridge
    

    在客户端(带有 phpmyadmin 的容器):

    # docker-compose.yml
    services:
      phpmyadmin:
        image: phpmyadmin/phpmyadmin
        networks:
          - db_mediawiki
    
    networks:
      db_mediawiki:
        external: true
    

    在server下的phpMyAdmin页面,填写db容器的IP。

    还要确保您已授予 mysql 用户外部访问权限:

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' 
        IDENTIFIED BY 'password' 
        WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    

    【讨论】:

      【解决方案2】:

      您需要docker-compose - 它允许通过一个命令运行多个容器:docker-compose up

      您需要配置它们,例如:https://github.com/pnglabz/docker-compose-lamp

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-01-22
        • 1970-01-01
        • 2020-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-22
        • 2017-04-05
        相关资源
        最近更新 更多