Docker安装wordpress并配置数据库超详细介绍版
一、拉取wordpress镜像(默认最新)
这一步和代理仓库有关,可能拉取时间偏久一点(出错时多拉取一次)
docker pull wordpress
二、启动wordpress容器
启动容器,设置容器名为mywordpress2并把80端口映射到宿主机的9999端口
docker run -it --name mywordpress2 -p 9999:80 -d wordpress
要添加挂载硬盘,可以使用 -v
参数来指定挂载点。例如,假设你有一个硬盘 /data
,你可以将它挂载到 WordPress容器内的 /var/www/html
目录上,命令如下所示:
docker run -it --name mywordpress2 -p 9999:80 -v /data:/var/www/html -d wordpress
这样,容器内的 WordPress 网站就会使用 /data
目录作为持久存储,你可以将数据保存在该目录下,即使容器被删除或重新创建,数据也不会丢失。请确保在运行此命令之前,已经在主机上创建了目标挂载点。
三、查看容器状态
docker ps
如果看到这个容器存在说明启动成功了
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d20caba62aa8 wordpress "docker-entrypoint.s…" About a minute ago Up About a minute 0.0.0.0:9999->80/tcp mywordpress2
四、安装wordpress博客程序
在docker面板启动wordpress容器
此时在浏览器访问http://localhost:9999/wp-admin/setup-config.php
进行安装,这时的ip地址是宿主机的IP,因为我的宿主机就是本机,所以访问地址为:http://localhost:9999。
傻瓜式安装步骤,得到以下配置页面,此时需要配置数据库信息,但是这个容器中并没有安装Mysql服务,所以我再安装了一个Mysql容器。
- 拉取mysql镜像(5.7)
docker pull mysql:5.7
- 启动mysql容器
启动容器,设置容器名为mysql5.7并把3306端口映射到宿主机的3305端口上,同时设置root初始化密码为123456
docker run -it --name=mysql5.7 -p 3305:3306 -e MYSQL_ROOT_PASSWORD=123456 -e TZ=Asia/Shanghai -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --lower_case_table_names=1
挂载卷可以参考如下(将路径修改为你想要挂载的位置):
docker run -it --name=mysql5.7 -p 3305:3306 -e MYSQL_ROOT_PASSWORD=123456 -e TZ=Asia/Shanghai -e MYSQL_INITDB_ARGS="--character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --lower_case_table_names=1" -v S:\mysqlbak:/var/lib/mysql -d mysql:5.7
配置mysql容器 此时的mysql已经运行起来了,但是需要配置允许外部访问才可使用。
#进入容器 docker exec -it mysql5.7 bash #进入mysql数据库--123456 mysql -u root -p #设置mysql允许访问 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
利用navicat一类的Mysql管理工具创建数据wordpress
也可以命令行形式创建
create database wordpress;
再次进入配置页面(http://ip:9999) 这里的mysql地址不能为回送地址(127.0.0.1),而是应该为宿主机地址,配置如下
- docker链接本地的数据库主机用
host.docker.internal
- 用docker下载的mysql则用数据库ip进行连接
如果您已经在 Docker 容器中分别安装了 WordPress 和 MySQL,并且想要让它们链接起来,可以按照以下步骤进行操作
1、查找 MySQL 容器的 IP 地址
首先,需要查找正在运行的 MySQL 容器的 IP 地址。可以使用以下命令:
docker inspect <mysql-container-name> | grep IPAddress
其中 <mysql-container-name>
是 MySQL 容器的名称。这将输出 MySQL 容器的 IP 地址。 如果用了直接报错grep : 无法将“grep”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确 ,然后再试一次。
如果在运行查询 MySQL 容器 IP 地址的命令时出现“grep:无法将 ‘grep’ 识别为
cmdlet、函数、脚本文件或可运行程序的名称。”错误,这可能是因为您在 Windows PowerShell 中使用了 grep 命令。在 Windows PowerShell 中,类似于 grep 的命令是 Select-String。您可以尝试以下命令:
docker inspect <mysql-container-name> | Select-String IPAddress
其中 <mysql-container-name>
是 MySQL 容器的名称。
请注意,在 Windows PowerShell
中,命令和参数之间使用空格而不是分号。此外,Docker 在 Windows 上运行在
Docker Desktop 中,它使用的是 Linux 虚拟机,所以您应该使用基于 Unix 的命令(如 grep),而不是
Windows 命令提示符(cmd)中使用的命令。
至此你就获取了docker容器中的mysql的ip地址
2、连接 WordPress 到 MySQL
回到容器内,在网站目录下,修改wp-config-sample.php文件
回到配置页面将数据库主机填上你获取的数据库ip地址
3、运行安装程序
剩下的就是傻瓜式安装步骤
到此就可以登陆啦~
总结
到此这篇关于Docker安装wordpress并配置数据库超详细介绍版的文章就介绍到这了,更多相关Docker安装wordpress配置数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
docker安装tomcat dubbo-admin实例技巧
在本篇文章里小编给大家整理的是关于docker安装tomcat dubbo-admin实例技巧,有需要的朋友们可以参考下。2020-01-01docker-swarm之使用Docker secret管理敏感数据
就Docker Swarm集群服务而言,secret 是块状数据,例如密码、SSH私钥、SSL证书或其他不应通过网络传输或未加密存储在Dockerfile或应用程序源代码中的数据,我们可以使用Docker secret 集中管理这些数据,所以接下来就带大家了解一下如何使用Docker secret 管理敏感数据2023-08-08Docker compose up -d与Docker restart的区别
本文主要介绍了Docker compose up -d与Docker restart的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-07-07
最新评论