gpt4 book ai didi

wordpress - 如何在 docker 上创建多个 wordpress 站点

转载 作者:行者123 更新时间:2023-12-05 05:58:25 26 4
gpt4 key购买 nike

我已经使用 docker 创建了一个 wordpress 站点。要打开它,我需要打开浏览器到 localhost:8000。但是,如果我想制作多个 wordpress 站点,我需要配置的方式和位置以及配置内容才能分别访问每个站点,因为我无法仅使用相同的链接访问它们。我是 docker 的菜鸟。

我已经根据 youtube 中的教程创建了 .yaml 文件

version: '3'

# Database
services:
db:
image: mysql:5.7
platform: linux/amd64
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
networks:
- wpsite
# phpmyadmin
phpmyadmin:
depends_on:
- db
image: phpmyadmin/phpmyadmin
restart: always
ports:
- '8080:80'
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: password
networks:
- wpsite
# Wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- '8000:80'
restart: always
volumes: ['./:/var/www/html']
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
networks:
- wpsite
networks:
wpsite:
volumes:
db_data:

然后我运行 docker 命令

docker-compose up -d这使得所有的 wordpress 文件

要打开它,我需要打开链接 localhost:8000

如何打开另一个 wordpress 站点?因为我无法使用相同的链接打开它们。

最佳答案

如果您希望能够访问多个服务,那么只需为它们分配不同的端口即可。

在您的示例中,您使用以下方法将 wordpress 配置为在端口 8000 上公开:

ports:
- '8000:80'

因此只需分配给另一个 wordpress 实例不同的端口(例如 80018002,...)使用:

ports:
- '8001:80'

示例 docker-compose.yaml

version: '3'

services:
db:
image: mysql:5.7
platform: linux/amd64
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: wordpress-site1
MYSQL_USER: wordpress-site1
MYSQL_PASSWORD: wordpress-site1
networks:
- wpsite

phpmyadmin:
depends_on:
- db
image: phpmyadmin/phpmyadmin
restart: always
ports:
- '8080:80'
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: password
networks:
- wpsite

wordpress-site1: # Wordpress site 1
depends_on:
- db
image: wordpress:latest
ports:
- '8000:80' # This site will be accessible on localhost:8000
restart: always
volumes: ['./site-1:/var/www/html'] # Set different path on host
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_NAME: wordpress-site1
WORDPRESS_DB_USER: wordpress-site1
WORDPRESS_DB_PASSWORD: wordpress-site1
networks:
- wpsite
wordpress-site2: # Wordpress site 2
depends_on:
- db
image: wordpress:latest
ports:
- '8001:80' # This site will be accessible on localhost:8001
restart: always
volumes: ['./site-2:/var/www/html'] # Set different path on host
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_NAME: wordpress-site2
WORDPRESS_DB_USER: wordpress-site2
WORDPRESS_DB_PASSWORD: wordpress-site2
networks:
- wpsite
# Other wordpress instances

networks:
wpsite:
volumes:
db_data:

不要忘记每个 wordpress 服务都需要它自己的数据库。您可以为每个 wordpress 服务定义它自己的数据库服务,也可以使用单个(共享)数据库服务并在其上创建多个数据库(每个 wordpress 服务一个)。

首先只启动 dbphpmyadmin 服务,使用:

$ docker-compose up -d db phpmyadmin

由于 PhpMyAdmin 设置为在端口 8080 上公开,请转到 http://localhost:8080,登录并为每个 wordpress 服务创建它自己的数据库和用户.

完成后,更新 docker-compose.yaml 中的 WORDPRESS_DB_* env 变量(如果需要)以匹配您刚刚创建的数据库和用户凭据,如果一切正常,则开始所有 wordpress 服务。

基于示例 docker-compose.yaml 您应该能够访问:

  • hppt://localhost:8000 上的 wordpress-site1
  • hppt://localhost:8001 上的 wordpress-site2
  • ...

关于wordpress - 如何在 docker 上创建多个 wordpress 站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68503885/

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