惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Azure Blog
Microsoft Azure Blog
A
Arctic Wolf
Hacker News - Newest:
Hacker News - Newest: "LLM"
T
Threatpost
P
Proofpoint News Feed
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
www.infosecurity-magazine.com
www.infosecurity-magazine.com
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
V
Vulnerabilities – Threatpost
V
V2EX
Webroot Blog
Webroot Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
P
Privacy & Cybersecurity Law Blog
P
Privacy International News Feed
T
Tor Project blog
P
Proofpoint News Feed
T
Tailwind CSS Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Vercel News
Vercel News
Security Archives - TechRepublic
Security Archives - TechRepublic
MongoDB | Blog
MongoDB | Blog
T
Troy Hunt's Blog
Google DeepMind News
Google DeepMind News
NISL@THU
NISL@THU
C
CERT Recently Published Vulnerability Notes
W
WeLiveSecurity
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
GbyAI
GbyAI
Y
Y Combinator Blog
T
Threat Research - Cisco Blogs
S
Security Affairs
Google Online Security Blog
Google Online Security Blog
S
Securelist
Spread Privacy
Spread Privacy
Recent Announcements
Recent Announcements
The Register - Security
The Register - Security
C
Cybersecurity and Infrastructure Security Agency CISA
爱范儿
爱范儿
H
Help Net Security
Microsoft Security Blog
Microsoft Security Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Scott Helme
Scott Helme
The Cloudflare Blog
T
The Blog of Author Tim Ferriss
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
B
Blog RSS Feed
AWS News Blog
AWS News Blog

Yee's Blog

腾讯云/轻量云 安装ArchLinux的个人记录 记录我的联想M720Q Arch Sway窗口管理器的安装和配置过程 Jenkins Linux安装 腾讯课堂、钉钉在线网课视频直播回放下载离线播放 Ceph块设备对RBD块设备操作LVM创建PV时报错 Ceph映射RBD块设备 2020年9月26日前端部门Vue考核 2020年9月26日后端部门Python考核 Nginx反向代理下载传输超过1G大文件时断开问题 Windows Server 2019 Datacenter M720q 安装记录 Ceph块设备基础及快照、克隆操作 从Ceph集群中删除OSD节点 Centos8配置 chrony NTP服务端及客户端 搭建Ceph集群 Ceph硬件准备 OSD与Pool池的常见操作及管理 Ceph用户管理 MacOS睡眠管理——让你的Mac睡的更香 初中古诗文必背篇目 Ansible 技巧之场 Ansible 包含和导入文件 Ansible 学习文档 Ansible 主机模式 Ansible 角色 Ansible 调整连接数 Splunk数据搜索和报表 Ansible 常用模块 Ansible 变量和事实 Ansible 任务控制 Ansible Playbook Ansible 基础概念 42Team-Flask框架-HTTP协议快速了解 42Team-Flask框架-路由和视图 42Team-Flask框架-请求与响应 42Team-Flask框架 42Team-Flask框架-Flask介绍 42Team-Flask框架-使用Pycharm来构建一个全新的Flask项目 How to install RHEL8(Centos) on Dell R710/R610 server Centos8安装Docker报错解决方案 Centos8安装Docker后容器内无法访问网络 Docker或Podman容器内无法解析DNS问题多种解决方案 使用NetworkManager来管理树莓派Ubuntu系统网络以及个人的体验优化 Linux 存储设备的挂载及识别 Firewalld 防火墙常用指令教程-常用规则(禁止Ping | 放行端口) Linux 查找系统中的文件 Linux 守护进程和控制服务 Linux SSH远程访问 42Team小组_Linux基础培训课件 如何在AmazeUI中当改变select标签后触发Vue方法的问题 在Raspberry树莓派中搭建NFS存储服务器 在 树莓派 Linux 中搭建匿名 danted socks5 代理服务器 HTTP与HTTPS区别随笔 Bash/Shell学习笔记
使用Docker部署安装WordPress博客平台
本文作者: YeeFire · 2020-02-21 · via Yee's Blog

使用Docker可以快速的创建一个WordPress容器。在快节奏的生活中,讲究的是效率、便捷、稳定。使用容器可以很方便的对WordPress平台的迁移与管理,接下来我将记录下来我搭建的过程。

  • 使用Docker部署安装WordPress博客平台
    • 前排提示
    • 0x01安装Docker(已经安装的请略过)
      • 配置 Docker-CE APT 源
      • 安装 Docker-CE
    • 0x02配置Docker Repository仓库镜像加速(不需要仓库加速请略过)
    • 0x03搭建 WordPress(正片、正片!)
      • 拉取WordPress镜像
      • 拉取MariaDB 5.5版本镜像
      • 启动Maria数据库容器
      • 创建WordPress使用的数据库
      • 运行WordPress容器

前排提示

我当前的环境是Debian 10,如果你是其他的Linux发行版,那么请不要完全按照本文进行操作,请变通(比如您是RHEL系,您需要将本文中的apt包管理器换做yum/dnf包管理器进行安装软件包)!如果遇到问题可以在底部留言给我。

如果您已经安装好Docker,并且不需要配置Docker Repository镜像加速的话,直接看第0x03部分就好了

0x01安装Docker(已经安装的请略过)

配置 Docker-CE APT 源

由于 apt 源使用 HTTPS 以确保软件下载过程中不被篡改。因此,我们首先需要添加使用 HTTPS 传输的软件包以及 CA 证书。

sudo apt-get update

sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
lsb-release \
software-properties-common

由于国内的网络政策,可能使用Docker官方源下载较慢,建议使用国内镜像源,详见下方注释。

为了确认所下载软件包的合法性,需要添加软件源的 GPG 密钥。

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add -



然后我们需要向apt source.list 中添加Docker-CE 软件源:

sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/debian \
$(lsb_release -cs) \
stable"






安装 Docker-CE

更新 apt 软件包缓存,并安装 docker-ce

sudo apt-get update

sudo apt-get install docker-ce

0x02配置Docker Repository仓库镜像加速(不需要仓库加速请略过)

以下系统目前是支持的:Ubuntu 16.04+、Debian 8+、CentOS 7

使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)

{
"registry-mirrors": [
"https://dockerhub.azk8s.cn",
"https://hub-mirror.c.163.com"
]
}

编写的daemon.json文件一定要符合JSON规范,否则Docker无法启动

之后重新载入daemon配置文件并重启Docker服务

sudo systemctl daemon-reload
sudo systemctl restart docker

Docker_daemon.png

0x03搭建 WordPress(正片、正片!)

拉取WordPress镜像

docker pull wordpress:latest

latest标签为当前最新的WordPress容器版本

拉取MariaDB 5.5版本镜像

MariaDB 5.5之前的版本完全参照Mysql版本,与Mysql语法兼容。

docker pull mariadb:5.5

启动Maria数据库容器

docker run --name=mariadb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=输入数据库root用户的密码 -v /etc/mariadb/data:/var/lib/mysql -d --restart=always mariadb:5.5

创建WordPress使用的数据库

为了安全考量,我们需要创建一个单独的用户给WordPress使用。加下来我们需要进入到MariaDB容器中,并使用Mysql命令来创建一个数据库,并分配一个用户给这个数据库。

docker exec -it mariadb /bin/bash

进入容器后我们使用刚才在容器上指定的root密码来登录MariaDB

mysql -u root -p 输入数据库root用户的密码

之后会进入到这样的交互界面:

root@b45ff49a112a:/# mysql -u root -p 输入数据库root用户的密码 (回车)
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 5.5.64-MariaDB-1~trusty mariadb.org binary distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>
  • 下面我会将交互模式返回的信息也表现出来用于大家检验命令执行的正确性。

创建WordPress数据库,数据库名为 wordpress

MariaDB [(none)]> create database wordpress;
Query OK, 1 row affected (0.00 sec)

创建WordPress用户,用户名为 wordpress,密码为 password

MariaDB [(none)]> create user 'wordpress'@'%' identified by 'password';
Query OK, 0 rows affected (0.00 sec)
  • 我这边仅作为示范,将用户与数据库设为的相同名称。

wordpress用户添加对数据库wordpress的所有的权限,并设置访问密码为password

MariaDB [(none)]> grant all privileges on wordpress.* to 'wordpress'@'%' identified by 'password';
Query OK, 0 rows affected (0.00 sec)

最后我们刷新数据库用户权限,立即生效

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.01 sec)

运行WordPress容器

到这里准备工作已经做好了,请记录好刚才为WordPress数据库设置的用户名和密码,稍后将会使用。

-p 80:80 将容器的80端口映射到本机的80端口并开放,使之可以通过http://本机ip访问搭建的WordPress博客平台。

docker run --name=wordpress -p 80:80 -v /home/wordpress:/var/www/html -d --restart=always wordpress:latest

马上就好……现在你可以访问一下你的http://ip或者http://域名

我们到了这最后一步:

wordpress_ip.jpg

如果你刚才没有按照本教程配置数据库,你这里自己填写就好。如果你是按照本教程搭建到这里,那么在此处请填写你服务器本机的IP地址或域名!(当然数据库主机这里你也可以填写MariaDB容器的IP地址)

之后数据库名和用户名都为我们刚才设置好的wordpress,密码也填写好。点提交就好咯~

有机会的话我们弄个SSL证书给它挂上,然后用Nginx反向代理来访问我们的WordPress容器,不一定哪天写一份教程出来。

参考:

Docker Hub WordPress

Docker Doc


我是一名Linux初学者,如果你与我一样喜欢折腾,喜欢Linux,那么请加入我的电报群:
https://t.me/yeefire_blog(Telegram),在这里畅所欲言,共同学习进步。