Docker部署WordPress及相关配置

一、安装

创建网络

bash 复制代码
docker network create wp

这条命令创建了一个名为wp的Docker网络。默认情况下,Docker会创建一个桥接网络类型,使得连接到此网络的容器能够相互通信。这个网络将作为WordPress应用和MySQL数据库之间进行数据交换的基础。

创建MySQL容器

bash 复制代码
docker run -d \
    --name wordpress-db \
    --net wp \
    -v /opt/wordpress-db:/var/lib/mysql \
    -e MYSQL_ROOT_PASSWORD=123456 \
    -e MYSQL_DATABASE=wordpress \
    -e MYSQL_USER=wordpress \
    -e MYSQL_PASSWORD=123456 \
    -p 3306:3306 \
    
    mysql:5.7
  • -d:表示在后台(detached)模式运行容器,即容器将在后台以守护进程形式运行。
  • --name wordpress-db:指定容器的名称为wordpress-db,便于后续管理和引用。
  • --net wp:将此容器连接到之前创建的名为wp的网络上,这样它就能与同样连接到该网络的其他容器(如WordPress容器)进行通信。
  • -v /opt/wordpress-db:/var/lib/mysql:使用数据卷(volume)挂载,将主机上的目录/opt/wordpress-db映射到容器内的/var/lib/mysql目录,用于持久化存储MySQL数据库的数据。
  • -e 参数后面的一系列环境变量:
    • MYSQL_ROOT_PASSWORD=123456:设置MySQL root用户的密码为123456
    • MYSQL_DATABASE=wordpress:创建一个名为wordpress的数据库。
    • MYSQL_USER=wordpress:创建一个名为wordpress的数据库用户。
    • MYSQL_PASSWORD=123456:为上述用户设置密码也为123456
  • p 3306:3306:添加端口映射。
  • mysql:5.7:指定了使用的镜像为mysql:5.7,即MySQL版本为5.7的官方Docker镜像。

创建WordPress容器

bash 复制代码
docker run -d \
    --name wordpress-web \
    --net wp \
    -p 8080:80 \
    wordpress
  • -d--name wordpress-web 含义同上,分别表示后台运行和命名容器为wordpress-web
  • --net wp:同样将此容器连接到wp网络,以便与MySQL容器通信。
  • -p 8080:80:端口映射,将主机的8080端口映射到容器的80端口。这意味着外部访问主机的8080端口时,流量将被转发到容器内部运行的WordPress服务监听的80端口。
  • wordpress:指定使用的镜像为wordpress,即官方提供的WordPress Docker镜像。它通常包含了WordPress核心文件及依赖的PHP和Web服务器(如Apache或Nginx),可以直接提供Web服务。

执行完以上命令后,将拥有一个运行在wp网络上的MySQL数据库容器(wordpress-db)和一个WordPress网站容器(wordpress-web)。WordPress容器通过网络能够访问到数据库容器,并且外部可以通过访问主机的http://localhost:8080/(或相应IP地址的8080端口)来浏览部署好的WordPress站点。所有的配置信息(如数据库名、用户名、密码)已通过环境变量传递给WordPress容器,使其能够自动连接到MySQL数据库。

三、WordPress初始化及相关配置

选择语言

数据库信息

其他信息

也可以使用自带的强密码

此处查看前台

下载主题

https://cn.wordpress.org/themes/blogus/

启用后 刷新首页

相关推荐
啟明起鸣几秒前
【Nginx 网关开发】上手 Nginx,简简单单启动一个静态 html 页面
运维·c语言·前端·nginx·html
Tinyundg13 分钟前
Linux系统分区
linux·运维·服务器
要做一个小太阳16 分钟前
华为Atlas 900 A3 SuperPoD 超节点网络架构
运维·服务器·网络·华为·架构
江畔何人初20 分钟前
service发现
linux·运维·云原生
life码农26 分钟前
Linux系统清空文件内容的几种方法
linux·运维·chrome
zbguolei31 分钟前
虚拟机安装Ubuntu后无法登录
linux·运维·ubuntu
UP_Continue34 分钟前
Linux--基础IO
linux·运维·服务器
驱动探索者39 分钟前
linux hwspinlock 学习
linux·运维·学习
RisunJan43 分钟前
Linux命令-logout(安全结束当前登录会话)
linux·运维·安全
qiubinwei1 小时前
kubeadm部署K8S集群(踩坑实录)
云原生·容器·kubernetes