如何将 apache(安装在服务器中)配置为 运行 docker 中的网络应用程序 (django)?

How to config apache (installed in server) to run a web app (django) in docker?

我安装了 apache 服务器并 运行 正在 PHP 中连接 3 个网站。我还在 django 运行ning 中的 4 docker 容器上开发了移动设备 api (django、redis、elasticsearch、rabbitmq 使用 fig.sh)。

因为 apache 是 运行ning,我想保留它并将其配置为 运行 docker 容器上的 Web 应用程序。如果它是 django 应用程序,我会为此配置 mod_wsgi 但不是,所以我不知道。

对此有任何想法。非常感谢。

注意:我在 Centos 6.6 上使用 docker 1.5apache 2.2

编辑: Apache 包含 3 个 <VirtualHost *:80 > 用于 3 个网站的 3 个域。

1 website1.com

2 website2.com

3 website3.com

和 api 我要部署的是域 api 上的 运行ning。website1.com 是 website1.com

的子域

fig.yml

db:
  image: mysql
  volumes:
    - /var/lib/mysql:/var/lib/mysql
  volumes_from:
    - mysql_data
  ports:
    - "3306:3306"
  environment:
    MYSQL_ROOT_PASSWORD: 123
  # command:


redis:
 image: redis:3

elasticsearch:
 image: elasticsearch
 ports:
   - "9200:9200"
   - "9300:9300"

rabbitmq:
 image: tutum/rabbitmq
 environment:
   - RABBITMQ_PASS=123456
 ports:
   - "5672:5672"  # we forward this port because it's useful for debugging
   - "15672:15672"  # here, we can access rabbitmq management plugin

web:
  build: .
  command: python3 manage.py runserver 0.0.0.0:8000
  volumes:
    - .:/code
  ports:
    - "8000:8000"

  links:
   - db:db
   - elasticsearch:elasticsearch
   - rabbitmq:rabbit
   - redis:redis

# container with redis worker
worker:
  build: .
  command:
  volumes:
    - .:/code/mobile_api
  links:
    - db:db
    - rabbitmq:rabbit
    - redis:redis

有关将 Apache 代理到使用 mod_wsgi 的后端 Python 网站的一般问题的更多信息,请参阅: