- 本文主要讲述快速搭建自己的博客系统,针对广大用户,没有门槛限制,一步到位搭建属于自己的博客网站。
- 选择适合的云服务器:本文采用的是 华为云耀云服务器L实例
- 本文使用本地 shell 方式连接到远程服务器,进行搭建部署
- 操作系统版本 Ubuntu 22.04.1 LTS
- 安装Docker版本 Docker version 24.0.5
- 需要拉取 mysql 和 wordpress 容器镜像
- 购买链接 : 华为云耀云服务器L实例
- 详细购买配置实例和 shell 连接可参考文章: 了解配置和管理L型云服务器
- Docker: Docker 是一种开源的容器化平台,可以让你轻松地打包、分发和运行应用程序。通过使用 Docker,你可以方便地创建独立且可移植的容器,这些容器包含了应用程序及其依赖的所有内容。
- WordPress: WordPress 是一个流行的开源博客平台,它提供了丰富的功能和可定制性,可以帮助你创建和管理自己的博客网站。
- 云服务器: 云服务器是基于云计算技术提供的虚拟服务器实例。选择华为云耀云服务器L实例,然后在其上安装和运行 Docker。
使用 ssh 连接到云服务器
# 查看云服务器版本
root@hcss-ecs-5c9b:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.1 LTS
Release: 22.04
Codename: jammy
# 如果之前安装过请执行此命令卸载docker
root@hcss-ecs-5c9b:~# apt-get remove docker docker-engine docker.io
更新软件包列表并安装 Docker 的依赖项
#更新软件包列表
root@hcss-ecs-5c9b:~# apt-get update
# 安装 Docker 软件包依赖项
root@hcss-ecs-5c9b:~# apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
信任 Docker 的 GPG 公钥
# 信任Docker的GPG公钥:
root@hcss-ecs-5c9b:~# curl -fsSL https://repo.huaweicloud.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
添加 Docker 的稳定版存储库
# 对于amd64架构的计算机,添加软件仓库:
root@hcss-ecs-5c9b:~# add-apt-repository "deb [arch=amd64] https://repo.huaweicloud.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
更新软件包列表,并安装 Docker
# 更新索引文件并安装
root@hcss-ecs-5c9b:~# apt-get update
# 安装 docker
root@hcss-ecs-5c9b:~# apt-get install docker-ce docker-ce-cli containerd.io
验证 Docker 安装是否成功
# 查看 docker 版本
root@hcss-ecs-5c9b:~# docker -v
Docker version 24.0.5, build 24.0.5-0ubuntu1~22.04.1
启动并查看 Docker 服务
# 启动并查看 docker 服务
root@hcss-ecs-5c9b:~# systemctl start docker.service
root@hcss-ecs-5c9b:~# systemctl status docker.service
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; en>
Active: active (running) since Wed 2023-09-20 13:43:42>
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 363725 (dockerd)
Tasks: 9
Memory: 31.3M
CPU: 266ms
CGroup: /system.slice/docker.service
└─363725 /usr/bin/dockerd -H fd:// --container>
下载默认在dockerhub上拉取镜像,可配置镜像加速器解决拉取过慢问题
# 以root用户登录容器引擎所在的虚拟机
# 修改“/etc/docker/daemon.json”文件(如果没有,可以手动创建),在该文件内添加如下内容
root@hcss-ecs-5c9b:~# vi /etc/docker/daemon.json
{
"registry-mirrors": [ "https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com" ]
}
# 按“Esc”,输入:wq保存并退出。
# 重启容器引擎
root@hcss-ecs-5c9b:~# ystemctl restart docker
# 配置结果
root@hcss-ecs-5c9b:~# docker info
执行docker info,当Registry Mirrors字段的地址为加速器的地址时,说明加速器已经配置成功。
# 拉取镜像
root@hcss-ecs-5c9b:~# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
# 不指定版本,默认安装最新版
root@hcss-ecs-5c9b:~# docker pull mysql
root@hcss-ecs-5c9b:~# docker pull wordpress
将本地的 “/dbData” 目录与容器内的 “/var/lib/mysql” 目录进行挂载,这样容器中的 MySQL 数据库文件将保存在本地的 “/dbData” 目录中。
指定数据库密码为 redhat
root@hcss-ecs-5c9b:~# mkdir /dbData
root@hcss-ecs-5c9b:~# docker run -tid --name db --restart always -v /dbData:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=redhat -e MYSQL_DATABASE=wordpress mysql
57b9dc88cddf78f4e0bed6c37c5822bdd9553cbd162e15fe4d08d2f072546371
root@hcss-ecs-5c9b:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
57b9dc88cddf mysql "docker-entrypoint.s…" 4 seconds ago Up 2 seconds 3306/tcp, 33060/tcp db
测试一下数据库的连通性,查看数据库地址,待会创建wordpress是还需要用到数据库地址
# 查看数据库地址
root@hcss-ecs-5c9b:~# docker inspect db | grep -i ipaddr
"SecondaryIPAddresses": null,
"IPAddress": "172.17.0.2",
"IPAddress": "172.17.0.2",
# 登录数据库
root@hcss-ecs-5c9b:~# mysql -uroot -predhat -h 172.17.0.2
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.1.0 MySQL Community Server - GPL
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| wordpress |
+--------------------+
5 rows in set (0.00 sec)
mysql> use wordpress;
Database changed
mysql> show tables;
Empty set (0.00 sec)
mysql> exit
Bye
本地的 “/web” 目录与容器内的 “/var/www/html” 目录进行挂载,这样容器中的 WordPress 文件将保存在本地的 “/web” 目录中。
创建时需指定数据库
root@hcss-ecs-5c9b:~# docker run -tid --name blog -v /web:/var/www/html -p 80:80 -e WORDPRESS_DB_HOST=172.17.0.2 -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=redhat -e WORDPRESS_DB_NAME=wordpress wordpress
ca64784fb03e329b385b55602c5c162d431687f1f33759fdd4995421d4ab7b86
# 查看容器
root@hcss-ecs-5c9b:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ca64784fb03e wordpress "docker-entrypoint.s…" 6 seconds ago Up 4 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp blog
57b9dc88cddf mysql "docker-entrypoint.s…" 9 minutes ago Up 9 minutes 3306/tcp, 33060/tcp db
现在, WordPress 博客已经成功搭建起来了!可以通过浏览器访问 服务器的 IP 地址来查看博客首页。根据页面提示,设置你的管理员账号和密码,并完成博客的初始化配置。
选择简体中文进行安装.
根据自身实际填写相应信息,填写完成之后点击安装WordPress.
安装完成.
输入创建的用户名和密码进行登录
登录成功.
可以根据自身需求选择自己喜欢的主题样式.,点击添加主题即可查看更多主题样式.
根据自己爱好进行安装,安装完成后点击启用,即可更换成功
接下来发表一篇自己的博客文章.
右侧导航栏点击文章,点击写文章.
写作完成,点击右上角发布.
文章发布成功,点击查看文章
文章发布完成.也可通过
手机端直接访问公网ip
进行文章查看.
如果后续退出往博客系统,可通过
http://公网ip/login
进行登录.
blog为容器名
启动容器:
docker start blog
停止容器:
docker stop blog
删除容器:
docker rm blog
查看日志:
docker logs blog
通过使用Docker创建独立且可移植的WordPress容器,并在云服务器上运行,可以实现便捷的Web应用部署与管理,帮助用户快速搭建具备丰富功能和定制性的博客网站。Docker是一种开源的容器化平台,提供了轻量级的容器来封装应用及其依赖,并使其能够在不同环境中运行 。华为云耀云服务器L实例 则提供实例,为用户提供了稳定可靠的基础设施。结合这三者,用户可以方便地创建、管理和扩展自己的WordPress博客平台,享受高效的Web应用开发体验。