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

相关推荐

  • node.js是什么意思

    技术node.js是什么意思这篇文章主要介绍了node.js是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 Node

    攻略 2021年12月13日
  • dbms_xplan.display_cursor包与高级所有统计上次查看绑定区别是什么

    技术dbms_xplan.display_cursor包与ADVANCED ALLSTATS LAST PEEKED_BINDS区别是什么dbms_xplan.display_cursor包与ADVANCED ALLST

    攻略 2021年12月24日
  • 摇摇晃晃照样子写词语,照样子写词语。例:隐隐约约

    技术摇摇晃晃照样子写词语,照样子写词语。例:隐隐约约A 挨挨挤挤摇摇晃晃照样子写词语、 安安稳稳、 彬彬济济、期期艾艾B 蹦蹦跳跳、 比比划划、 病病歪歪C 葱葱茏茏、 痴痴呆呆、 层层叠叠 、苍苍茫茫、楚楚谡谡、 抽抽

    生活 2021年10月25日
  • Socket基础知识有哪些

    技术Socket基础知识有哪些本篇文章给大家分享的是有关Socket基础知识有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。如何一步步掌握Socket相

    攻略 2021年11月25日
  • htmltextarea宽度如何设置(htmltextarea怎么设置高度)

    技术html textarea如何设置大小本篇内容介绍了“html textarea如何设置大小”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔

    攻略 2021年12月13日
  • 租用香港云服务器的五大好处云服务器香港

    技术租用香港云服务器的五大好处云服务器香港几乎所有其他IDC服务商都在其提供的产品列表中使用“云”一词。那么究竟什么是香港云?为什么它被认为如此非常合适部署业务,以至于成为不少用户建站时的首选?下面详细说明了使用该服务的

    礼包 2021年12月15日