您好docker社区
我在Docker技术领域绝对是新手。我目前基于docker-compose概念设置了自己的nextcloud服务器。我只是从此处复制示例代码: https://github.com/nextcloud/docker/tree/master/.examples/docker-compose/with-nginx-proxy/mariadb/fpm 这很好用,并且还根据Letencrypt支持,子域,数据库满足了我的期望。这个nextcloud容器正在cloud.example.com上监听
现在,我想添加一项新服务:Wordpress。它应该在example.com或www.example.com(主域)上运行。我试图编辑docker-compose文件以使用一个公共数据库。
有人可以帮我添加一个带前缀表名称的mariadb在www.example.com上监听的wordpress容器吗?也许我可以将其用作模板,以在将来以相同的架构添加更多容器时使用它作为模板来进行操作。
我在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: