准备docker环境
这边我简单安装一下docker(基于centos7)
# 安装docker curl -sSL https://get.daocloud.io/docker | sh # 启动docker systemctl start docker # 查看docker状态 systemctl status docker # 查看docker版本 docker version Client: Docker Engine - Community Version: 20.10.5 API version: 1.41 Go version: go1.13.15 Git commit: 55c4c88 Built: Tue Mar 2 20:33:55 2021 OS/Arch: linux/amd64 Context: default Experimental: true Server: Docker Engine - Community Engine: Version: 20.10.5 API version: 1.41 (minimum version 1.12) Go version: go1.13.15 Git commit: 363e9a8 Built: Tue Mar 2 20:32:17 2021 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.4.4 GitCommit: 05f951a3781f4f2c1911b05e61c160e9c30eaa8e runc: Version: 1.0.0-rc93 GitCommit: 12644e614e25b05da6fd08a38ffa0cfe1903fdec docker-init: Version: 0.19.0 GitCommit: de40ad0
显示如上图所示,则说明你的docker环境已经被成功运行起来了
因为dokcer的镜像源默认是在国外,为了后续安装速度,这边需要切换到国内的镜像源,这边我选择的是阿里云的镜像源
# 通过daemon.json指定docker的镜像源 cat > /etc/docker/daemon.json << EOF { "registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"], } EOF # 如果是已经安装过docker环境,并且创建过daemon.json文件,则这里推荐编辑,避免覆盖掉原来的配置
安装mysql
wordpress的数据库使用的是mysql,所以我们这边还要安装mysql环境,这边也是使用docker安装一个mysql5.7
# 拉取mysql镜像,这里我使用的是mysql的5.7.33的版本 docker pull mysql:5.7.33 # 为了保证mysql数据的持久化,所以这边需要创建个目录来存放mysql的数据,路径可自行选择 mkdir /home/mysql/data # 启动mysql docker run -d --name mysql5.7 \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=qwer123456# \ -v /home/mysql/data:/var/lib/mysql \ --restart=always \ mysql:5.7.33
上面的启动命令的介绍
-d 后台运行
–name mysql5.7 命名这个容器为mysql5.7
-p 3306:3306 把容器的3306端口映射到宿主机上的3306端口上
-e MYSQL_ROOT_PASSWORD=qwer123456# 设置mysql的root密码为qwer123456#
-v /home/mysql/data:/var/lib/mysql 把宿主机的/home/mysql/data挂载到容器里的/var/lib/mysql目录,这个目录存放的是mysql的数据库
–restart=always 防止机器重启,自动启动mysql
至此我们的mysql已经成功启动了
创建完mysql之后,需要给后续wordpress创建对应的用户,进行以下操作
# 进入到mysql容器中 docker exec -it mysql5.7 /bin/bash # 登录到mysql中 mysql -uroot -pqwer123456# # 创建一个mysql用户 create user 'wordpress'@'%' identified by 'qwer123456#'; # 给用户授权,这里我是赋予了所有权限给wordpress用户 grant all privileges on *.* to 'wordpress'@'%' with grant option; # 刷新权限 flush privileges; # 创建数据库 create database wordpress; # 退出mysql控制台 quit; # 退出容器 exit
这个时候mysql的wordpress已经创建完了,您可通过mysql连接工具测试是否能够连接
安装wordpress
前期的准备工作已经完成,现在可以进入我们的正题
# 拉取wordpress镜像 docker pull wordpress # 创建wordpress的目录 mkdir /home/wordpress/html # 启动wordpress容器 docker run --name wordpress -d \ -p 80:80 \ -e WORDPRESS_DB_HOST=172.18.0.2 \ -e WORDPRESS_DB_USER=root \ -e WORDPRESS_DB_PASSWORD=qwer123456# \ -e WORDPRESS_DB_NAME=wordpress \ -v /home/wordpress/html:/var/www/html \ --restart=always wordpress
启动命令介绍
–name wordpress 命名当前容器为wordpress
-d 后台运行
-p 80:80 将容器的80端口映射到宿主机的80端口上,wordpress默认对外暴露的端口是80,如果您不想让wordpress占用您的80端口,可将前一个80改成您希望的任意一个端口,例如-p 8090:80
-e WORDPRESS_DB_HOST=172.18.0.2 设置wordpress使用的数据库地址为172.18.0.2,这个地址为刚才创建的mysql地址,如果需要获取mysql的ip地址,可通过dokcer inspect mysql5.7 里找到Networks,找到对应的IPAddress即为对应的mysql对应的ip地址
-e WORDPRESS_DB_USER=root 设置数据库用户名为root,您也自行进入到mysql容器中创建自己的用户名
-e WORDPRESS_DB_PASSWORD=qwer123456# 设置数据库密码为qwer123456#
-e WORDPRESS_DB_NAME=wordpress 设置数据库名为wordpress
-v /home/wordpress/html:/var/www/html 将当前宿主机的/home/wordpress/html挂载到容器的/var/www/html下,此目录为wordpress的文件目录
–restart=always 重启策略
这个时候您的wordpress容器已经启动成功了,可以通过ip直接访问到对应的wordpress容器中了
原文链接:https://blog.csdn.net/wzw610463845/article/details/114951729?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168994567316800226569088%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=168994567316800226569088&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-14-114951729-null-null.268%5Ev1%5Ekoosearch&utm_term=docker%E3%80%81wordpress%E3%80%81wordpress%E5%BB%BA%E7%AB%99%E3%80%81wordpress%E4%B8%BB%E9%A2%98%E3%80%81%E5%AE%B9%E5%99%A8%E9%95%9C%E5%83%8F%E3%80%81