Nextcloud на Docker составить - хочу сделать добавить WordPress - PullRequest
0 голосов
/ 13 декабря 2018

Здравствуйте, сообщество докеров,

Я абсолютно новичок в области технологий Docker.В настоящее время я настроил свой собственный сервер nextcloud на основе концепции docker-compose.Я просто скопировал пример кода отсюда: https://github.com/nextcloud/docker/tree/master/.examples/docker-compose/with-nginx-proxy/mariadb/fpm Это работает очень хорошо и также оправдывает мои ожидания в соответствии с поддержкой letsencrypt, поддоменом, базой данных.Этот контейнер nextcloud прослушивает cloud.example.com

Теперь я хочу добавить новый сервис: Wordpress.Это должно работать на example.com или www.example.com - главном домене.Я попытался отредактировать файл docker-compose, чтобы использовать одну общую базу данных.

Может ли кто-нибудь помочь мне добавить контейнер WordPress для прослушивания на www.example.com, используя mariadb с именами таблиц префиксов?Вероятно, это не так сложно, что я могу использовать его в качестве шаблона для добавления большего количества контейнеров в будущем с той же схемой.

Я исследовал с Google и потратил уже несколько дней, чтобы работать над учебниками.Но на этих сайтах никогда не было моего конкретного случая, и эти примеры трудно адаптировать к моим предполагаемым услугам.Большинство веб-сайтов используют разные версии docker-compose.Я использую версию 3 в соответствии с примером выше.

Большое спасибо!

db.env

MYSQL_PASSWORD=myPassword
MYSQL_DATABASE=nextcloud
MYSQL_USER=nextcloud

docker-compose.yml

version: '3'    

services:
  db:
    image: mariadb
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    restart: always
    volumes:
      - db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=myRootPassword
    env_file:
      - db.env    

  app:
    image: nextcloud:fpm-alpine
    restart: always
    volumes:
      - nextcloud:/var/www/html
    environment:
      - MYSQL_HOST=db
    env_file:
      - db.env
    depends_on:
      - db    

  web:
    build: ./web
    restart: always
    volumes:
      - nextcloud:/var/www/html:ro
    environment:
      - VIRTUAL_HOST=cloud.example.de
      - LETSENCRYPT_HOST=cloud.example.de
      - LETSENCRYPT_EMAIL=example@gmail.com
    depends_on:
      - app
    networks:
      - proxy-tier
      - default    

  proxy:
    build: ./proxy
    restart: always
    ports:
      - 80:80
      - 443:443
    labels:
      com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
    volumes:
      - certs:/etc/nginx/certs:ro
      - vhost.d:/etc/nginx/vhost.d
      - html:/usr/share/nginx/html
      - /var/run/docker.sock:/tmp/docker.sock:ro
    networks:
      - proxy-tier    

  letsencrypt-companion:
    image: jrcs/letsencrypt-nginx-proxy-companion
    restart: always
    volumes:
      - certs:/etc/nginx/certs
      - vhost.d:/etc/nginx/vhost.d
      - html:/usr/share/nginx/html
      - /var/run/docker.sock:/var/run/docker.sock:ro
    networks:
      - proxy-tier
    depends_on:
      - proxy    

volumes:
  db:
  nextcloud:
  certs:
  vhost.d:
  html:    

networks:
  proxy-tier:
...