使用Docker Swarm 搭建Wordpress的方法

 更新时间:2020年05月19日 10:28:57   作者:四七  
这篇文章主要介绍了使用Docker Swarm 搭建Wordpress的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

起因

我曾经把 wordpress 搭建在 Vultr 上,但是因为众所周知的原因,这个地方访问越来越慢。再后来我选择了新浪云,新浪云的确够便宜,也很不错,但是要备案,还有评论功能估计要阉割,想想还是算了,找个香港的主机搭建 wordpress 即可。

购买主机

我这里选择的是阿里云的轻量应用服务器,这个主机的好处就是便宜,够用。
比如我选择的香港的主机,一个月只需要 24 块钱,一核心一G内存,网速为 30Mbps,磁盘空间 25GB,月流量 1TB。

配置如下图

初始化 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的方法的文章就介绍到这了,更多相关Docker Swarm搭建Wordpress内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • yum下载rpm以及相关依赖的方式离线安装docker

    yum下载rpm以及相关依赖的方式离线安装docker

    今天小编就为大家分享一篇关于yum下载rpm以及相关依赖的方式离线安装docker,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • Docker Nginx Log 三者的处理详解

    Docker Nginx Log 三者的处理详解

    这篇文章主要介绍了Docker Nginx Log 三者的处理详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Docker 安装Jenkins全过程及踩坑指南

    Docker 安装Jenkins全过程及踩坑指南

    这篇文章主要介绍了Docker 安装Jenkins 踩坑全指南,本文通过图文示例相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • Docker安装MongoDB并使用Navicat连接的操作方法

    Docker安装MongoDB并使用Navicat连接的操作方法

    MongoDB是一个基于分布式文件存储的数据库,MongoDB最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,这篇文章主要介绍了Docker安装MongoDB并使用Navicat连接,需要的朋友可以参考下
    2022-10-10
  • docker中进入容器所在目录删除文件

    docker中进入容器所在目录删除文件

    这篇文章主要介绍了docker中进入容器所在目录删除文件方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • 如何利用Docker部署一个简单的springboot项目

    如何利用Docker部署一个简单的springboot项目

    这篇文章主要介绍了如何利用Docker部署一个简单的springboot项目,本文通过实例图文实例代码相结合给大家介绍的非常详细,需要的朋友可以参考下
    2024-02-02
  • Docker容器应用中,10个要不得的坏习惯

    Docker容器应用中,10个要不得的坏习惯

    这篇文章主要介绍了Docker容器的应用中,10个要不得的坏习惯,帮助大家更好的理解和使用docker,感兴趣的朋友可以了解下
    2020-08-08
  • idea使用docker插件实现一键自动化部署

    idea使用docker插件实现一键自动化部署

    本文主要介绍了idea使用docker插件实现一键自动化部署,文中通过图文介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • docker容器内服务随容器自动启动的几种方案

    docker容器内服务随容器自动启动的几种方案

    Docker是一种轻量级的容器化平台,可以帮助开发者快速部署、运行和管理应用程序,这篇文章主要给大家介绍了关于docker容器内服务随容器自动启动的几种方案,需要的朋友可以参考下
    2024-07-07
  • docker搭建jenkins+maven代码构建部署平台

    docker搭建jenkins+maven代码构建部署平台

    本文主要介绍了docker搭建jenkins+maven代码构建部署平台,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-06-06

最新评论