如何使用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)

相关推荐

  • 树之设计【AVL树、红黑树的设计】

    技术树之设计【AVL树、红黑树的设计】 树之设计【AVL树、红黑树的设计】树之设计【AVL树、红黑树的设计】1,设计之初:? 思考:AVL树的意义:高度平衡二叉树,用来维持整棵树是一棵平衡的二叉树,那么

    礼包 2021年10月27日
  • css如何写文字投影

    技术css如何写文字投影这篇文章主要介绍“css如何写文字投影”,在日常操作中,相信很多人在css如何写文字投影问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”css如何写文字投影”的疑惑有

    攻略 2021年11月10日
  • Sharp爬虫程序配置代理ip的示例分析

    技术Sharp爬虫程序配置代理ip的示例分析这期内容当中小编将会给大家带来有关Sharp爬虫程序配置代理ip的示例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 // 要访问的目

    攻略 2021年10月28日
  • openwrt怎样装进u盘好(openwrt扩展系统到u盘)

    技术OpenWRT如何挂接U盘这篇文章将为大家详细讲解有关OpenWRT如何挂接U盘,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 DIR-505 有一个 USB2.0 接口,给

    攻略 2021年12月18日
  • oracle redo过度诊断是怎样的

    技术oracle redo过度诊断是怎样的oracle redo过度诊断是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、诊断过度r

    攻略 2021年11月12日
  • 如何深入解析Java 8 默认方法和多继承

    技术如何深入解析Java 8 默认方法和多继承本篇文章给大家分享的是有关如何深入解析Java 8 默认方法和多继承,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看

    攻略 2021年10月29日