如何使用Docker和Traefik搭建WordPress

技术如何使用Docker和Traefik搭建WordPress这篇文章主要为大家展示了“如何使用Docker和Traefik搭建WordPress”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一

本文主要向您展示如何使用Docker和Traefik构建WordPress。内容简单易懂,条理清晰。希望能帮你解开疑惑。让边肖带领大家学习学习文章《如何使用Docker和Traefik构建WordPress》。

使用Docker、Compose和Traefik构建WordPress,完整的操作时间应该在十分钟以内。

为什么是WordPress?

每当我们谈到CMS软件和丰富的社区资源,我们都会情不自禁地想到一个“万金油”:WordPress,根据官方数据:

超过6000万人选择了WordPress来为他们称之为“家”的网站供电

成千上万的开发者、内容创作者和网站所有者聚集在全球436个城市的每月例会上。

WordPress支持33%的互联网。

很多人对它的印象还停留在博客系统上,执行缓慢,安全性差,代码臃肿。不过其实经过十几年的迭代,它的大版本已经来到了5.0(主流的PHP运行时也来到了7.0时代),性能也不再是问题。只要做好适当的防护,大部分安全问题都可以消除。

Emmm,代码真的很臃肿。

基于官方形象

提供了官方容器映像,可以直接使用以下命令下载映像:

docker pull wordpress

一个

但是,为了更好地配置和使用,我们使用compose将以下内容排列并保存为docker-compose.yml:

版本: '3 '

服务:

wp:

image: ${WP_IMAGE}

restart:始终

网络:

-崔菲克

环境:

WORDPRESS _ DB _ HOST : $ { DB _ HOST }

WORDPRESS _ TABLE _ PREFIX : $ { WP _ DB _ PREFIX }

WORDPRESS _ DB _ NAME : $ { DB _ NAME }

WORDPRESS _ DB _ USER : $ { DB _ USER }

WORDPRESS _ DB _ password : $ { DB _ PASS }

卷:

#如果您需要自定义上传的文件大小

# - ./config/PHP . conf . uploads . ini :/usr/local/etc/PHP/conf . d/uploads . ini

- ./wp-app:/var/www/html

标签:

-" traefik . enable=true "

-' traefik . frontend . rule=Host : $ { WP _ DOMANS } '

-' traefik . frontend . Entryppoints=https,http '

mariadb:

image: ${DB_IMAGE}

restart:始终

container_name: ${DB_HOST}

网络:

-崔菲克

环境:

MYSQL_DATABASE: ${DB_NAME}

MYSQL_USER: ${DB_USER}

不间断空格

;  MYSQL_PASSWORD: ${DB_PASS}
      MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASS}
    volumes:
      - ./data:/var/lib/mysql

  pma:
    image: ${PMA_IMAGE}
    restart: always
    networks:
      - traefik
    environment:
      MYSQL_USER: ${DB_USER}
      MYSQL_PASSWORD: ${DB_PASS}
      MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASS}
      PMA_HOST: ${DB_HOST}
    labels:
      - "traefik.enable=true"
      - "traefik.frontend.rule=Host:${PMA_DOMAIN}"

networks:
  traefik:
    external: true

如果你还不会使用 Traefik ,可以翻看我之前的文章,这里不做过多赘述。

为了可维护性,我们将容器镜像版本信息,应用域名,数据库配置等抽象为单独的环境配置文件 .env,内容示例:

WP_IMAGE=wordpress:5.1.1-php7.3-apache
WP_DOMAINS=wp.lab.com,wp.lab.io
WP_DB_PREFIX=wp

DB_IMAGE=mariadb:10.3.8
DB_HOST=wp-db
DB_NAME=wordpress
DB_USER=wordpress
DB_PASS=wordpress
DB_ROOT_PASS=soulteary

PMA_IMAGE=phpmyadmin/phpmyadmin:4.8.2
PMA_DOMAIN=pma.wp.lab.com,pma.wp.lab.io

当两个文件都保存完毕之后,我们执行 docker-compose up 命令,你将会看到许多日志信息,当看到类似下面的信息时,WordPress 环境便准备就绪啦。

wp-db      |
wp-db      | MySQL init process done. Ready for start up.
wp-db      |
wp-db      | 2019-04-06 16:26:48 0 [Note] mysqld (mysqld 10.3.8-MariaDB-1:10.3.8+maria~jessie) starting as process 1 ...
wp-db      | 2019-04-06 16:26:48 0 [Note] InnoDB: Using Linux native AIO
wp-db      | 2019-04-06 16:26:48 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
wp-db      | 2019-04-06 16:26:48 0 [Note] InnoDB: Uses event mutexes
wp-db      | 2019-04-06 16:26:48 0 [Note] InnoDB: Compressed tables use zlib 1.2.8
wp-db      | 2019-04-06 16:26:48 0 [Note] InnoDB: Number of pools: 1
wp-db      | 2019-04-06 16:26:48 0 [Note] InnoDB: Using SSE2 crc32 instructions
wp-db      | 2019-04-06 16:26:48 0 [Note] InnoDB: Initializing buffer pool, total size = 256M, instances = 1, chunk size = 128M
wp-db      | 2019-04-06 16:26:48 0 [Note] InnoDB: Completed initialization of buffer pool
wp-db      | 2019-04-06 16:26:48 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
wp-db      | 2019-04-06 16:26:48 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
wp-db      | 2019-04-06 16:26:48 0 [Note] InnoDB: Creating shared tablespace for temporary tables
wp-db      | 2019-04-06 16:26:48 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
wp-db      | 2019-04-06 16:26:48 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
wp-db      | 2019-04-06 16:26:48 0 [Note] InnoDB: 10.3.8 started; log sequence number 1630833; transaction id 21
wp-db      | 2019-04-06 16:26:48 0 [Note] Plugin 'FEEDBACK' is disabled.
wp-db      | 2019-04-06 16:26:48 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
wp-db      | 2019-04-06 16:26:48 0 [Note] Server socket created on IP: '::'.
wp-db      | 2019-04-06 16:26:48 0 [Note] InnoDB: Buffer pool(s) load completed at 190406 16:26:48
wp-db      | 2019-04-06 16:26:48 0 [Warning] 'proxies_priv' entry '@% root@e97787886b74' ignored in --skip-name-resolve mode.
wp-db      | 2019-04-06 16:26:48 0 [Note] Reading of all Master_info entries succeded
wp-db      | 2019-04-06 16:26:48 0 [Note] Added new Master_info '' to hash table
wp-db      | 2019-04-06 16:26:48 0 [Note] mysqld: ready for connections.
wp-db      | Version: '10.3.8-MariaDB-1:10.3.8+maria~jessie'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  mariadb.org binary distribution
wp_1       | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.23.0.8. Set the 'ServerName' directive globally to suppress this message

此时启动浏览器,打开我们配置文件中配置好的域名(WP_DOMAIN),便可以开始著名的“三分钟”安装了。
填写适当信息,一路 Next ,WordPress 就安装成功了。
后续便是具体的应用配置,以及性能、安全方面的优化啦。
其他
如果你有操作数据库的需求,又不想下载数据库工具或者使用命令行进行操作,可以使用 **PHPMyAdmin ** ,同样的,在浏览器中打开之前配置文件中的 PMA 域名地址(PMA_DOMAIN),就可以进行操作了。

不过需要注意的是,需要使用 root 和 root password 进行登录,因为默认情况下,Mariadb 未对其他用户账号进行远程访问授权。

以上是“如何使用Docker和Traefik搭建WordPress”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/104211.html

(0)

相关推荐

  • 二项式展开式各项系数和,二项式系数的基偶二项式系数之和

    技术二项式展开式各项系数和,二项式系数的基偶二项式系数之和二项式系数的和的公式二项式展开式各项系数和:^二项式公式:(a+b)^n = nC0 a^n + nC1 a^5261(n-1)*b + nC(n-1) a*b

    生活 2021年10月24日
  • 【leetcode】1. Two Sum

    技术【leetcode】1. Two Sum 【leetcode】1. Two SumGiven an array of integersnumsand an integertarget, return

    礼包 2021年11月20日
  • come短语,come to什么意思

    技术come短语,come to什么意思come to意思是达到come短语;总计为;终于;结果是;苏醒(过来);把船朝着风头;停泊;继承(财产); (马, 牛群等)迅速向左转。My people come to wor

    生活 2021年10月20日
  • 12项目全站HTTPS

    技术12项目全站HTTPS 12项目全站HTTPS项目全站HTTPS
    1.配置web端博客配置文件
    [root@web01 ~]# vim /etc/nginx/conf.d/linux.wp.com.

    礼包 2021年11月7日
  • 怎么实现jenkins邮件配置

    技术怎么实现jenkins邮件配置本篇文章为大家展示了怎么实现jenkins邮件配置,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Jenkins搭建完成后,接下来就要做一些配置工

    攻略 2021年11月17日
  • 数据库数据文件如何进行分区转移

    技术数据库数据文件如何进行分区转移数据库数据文件如何进行分区转移,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。由于之前同事没有对磁盘分区做规

    攻略 2021年11月29日