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/

启用后 刷新首页

相关推荐
一个天蝎座 白勺 程序猿1 小时前
KingbaseES数据库归档重做日志文件管理:从配置到运维的实战指南
运维·数据库·oracle·kingbasees·金仓数据库
分布式存储与RustFS5 小时前
镜像仓库的层别堆本地盘:用 RustFS 给 Docker Registry 当 S3 后端
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
陈希1235 小时前
Linux 防火墙配置实战:firewalld、iptables 与云安全组
linux·运维·服务器
@兽血沸腾6 小时前
Windows系统安装Jenkins部署应用至远程Windows服务器操作指南
运维·服务器·jenkins
闲云自留地11 小时前
K8s 的记忆大脑!ETCD 集群部署、etcdctl 命令与备份恢复全通关
容器·kubernetes·etcd
讯捷蓝达12 小时前
戴尔R720xd服务器卡死在 “Configuring Memory...Done“,换了内存还是卡?问题根本不在内存
运维·服务器
爱和冰阔落14 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
lisanmengmeng15 小时前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器
Android系统攻城狮15 小时前
Linux FFmpeg深度解析之av_write_frame调用流程与实战(三十三)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
上火的金鱼妹16 小时前
k8s生产实际问题排查(网关,数据库读写等)
运维·服务器