### [怎么使用Docker Swarm搭建WordPress](https://www.prosaas.cn/article/8706) **Published:** 2021-04-20T06:14:14 **Author:** 5201314 **Excerpt:** 下面由WordPress教程栏目给大家介绍使用 Docker Swarm 搭建 Wordpress的方法,希望… 下面由**WordPress**教程栏目给大家介绍使用 Docker Swarm 搭建 WordPress的方法,希望对需要的朋友有所帮助! ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231212131525597.jpg) 使用 Docker Swarm 搭建 WordPress ## 起因 我曾经把 wordpress 搭建在 `Vultr` 上,但是因为众所周知的原因,这个地方访问越来越慢。再后来我选择了新浪云,新浪云的确够便宜,也很不错,但是要备案,还有评论功能估计要阉割,想想还是算了,找个香港的主机搭建 wordpress 即可。 ## 购买主机 我这里选择的是阿里云的轻量应用服务器,这个主机的好处就是便宜,够用。 比如我选择的香港的主机,一个月只需要 24 块钱,一核心一G内存,网速为 30Mbps,磁盘空间 25GB,月流量 1TB。 配置如下图 ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231212131525547.jpg) ## 初始化 docker 环境 > 虽然上面有一件安装`wordpress`的功能,但是我不推荐,因为配置都太老了 最终我选择的是 `ubuntu18.04` 系统,直接用下面的命令即可完成安装 docker 并且初始化 `docker swarm` curl -o- -L https://gist.githubusercontent.com/hangox/e679464f35dc2a78920e6249a21d7958/raw/c5541e38979dca1e3e1e9704ad171ed2f0556fa1/ubunut-install-docker.sh | bash ## 编写 docker-compose ### 配置一览 version: '3.7' services:   caddy:     image: abiosoft/caddy     ports:       - 80:80       - 443:443     environment:       - ACME\_AGREE=true       - TZ=Asia/Shanghai     volumes:       - caddy:/root/.caddy       - wp-src:/usr/src/wordpress     configs:       - source: wp\_caddy         target: /etc/Caddyfile   app:     image: wordpress:5.4.1-php7.2-fpm     environment:       TZ: Asia/Shanghai       WORDPRESS\_DB\_HOST: wp\_db:3306       WORDPRESS\_DB\_USER: root       WORDPRESS\_DB\_PASSWORD: yourpassword       WORDPRESS\_DB\_NAME: wordpress     depends\_on:       - db     volumes:       - wordpress:/var/www/html       - wp-src:/usr/src/wordpress   db:     image: mysql:8     environment:       TZ: Asia/Shanghai       MYSQL\_ROOT\_PASSWORD: yourpassword       MYSQL\_DATABASE: wordpress     command: --default-authentication-plugin=mysql\_native\_password     volumes:       - db:/var/lib/mysql volumes:   wordpress:   db:   caddy:   wp-src: configs:   wp\_caddy:     external: true ### 配置解析 #### caddy 用来做反向代理,同时兼顾 https 证书申请,配置如下 https://47log.com  https://www.47log.com  {     root /usr/src/wordpress     gzip     fastcgi / wp\_app:9000 php     rewrite {         if {path} not\_match ^\\/wp-admin         to {path} {path}/ /index.php?\_url={uri}     }     log stdout     errors stderr } 这里我用到了 docker swarm 的 config 功能,直接把配置写入到 `wp_caddy` 这个配置中。 #### db 这里用的是 mysql8 , wordpress 是支持的,性能也要更好点 需要注意的,`commmand` 必须加上 `command: --default-authentication-plugin=mysql_native_password` 不然是没办法进行密码认证的,我就是忘记加这个蛋疼了一阵子。 #### app **注意连接方式** 如果你是用 docker stack 部署的,部署的是什么名字,数据库连接那里就要加上名字的前缀。比如我这里是 `docker stack deploy -c docker-compose.yml wp`,我这里数据库在 docker 网络中的 host 就是 `wp_db`。如果你的 stack 名字为 wordpress , 就要对应的改为 `wordpress_db`。 **注意配置 volume** `- wordpress:/var/www/html` 这个东西一定要配置,上次我就是没有配置这个东西,删掉 container,主题直接没有了。 ## 使用 docker stack 部署 一行命令 `docker stack deploy -c docker-compose.yml wp` 等一段时间就能进入 wordpress 了 > 为什么使用 docker swarm。 因为有 portainer , docker-swarm 接入到 portainer 之后可以有全功能的配置能力。 以上就是怎么使用Docker Swarm搭建Wordpress的详细内容,更多请关注知企PROSAAS其它相关文章! **Categories:** WordPress ---