Docker安装wordpress并设置数据库(超详细版)

打印 上一主题 下一主题

主题 863|帖子 863|积分 2589

一、拉取wordpress镜像(默认最新)



  • 这一步和署理仓库有关,可能拉取时间偏久一点(出错时多拉取一次)
  1. docker pull wordpress
复制代码

二、启动wordpress容器



  • 启动容器,设置容器名为mywordpress2并把80端口映射到宿主机的9999端口
  1. docker run -it --name mywordpress2 -p 9999:80 -d wordpress
复制代码



  • 要添加挂载硬盘,可以利用 -v 参数来指定挂载点。比方,假设你有一个硬盘 /data ,你可以将它挂载到 WordPress容器内的 /var/www/html 目录上,命令如下所示:
  1. docker run -it --name mywordpress2 -p 9999:80 -v /data:/var/www/html -d wordpress
复制代码
这样,容器内的 WordPress 网站就会利用 /data 目录作为长期存储,你可以将数据保存在该目录下,即使容器被删除或重新创建,数据也不会丢失。请确保在运行此命令之前,已经在主机上创建了目的挂载点。
三、查看容器状态

  1. docker ps
复制代码


  • 假如看到这个容器存在说明启动乐成了

  1. CONTAINER ID   IMAGE       COMMAND                   CREATED              STATUS              PORTS                  NAMES
  2. 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)
  1. docker pull mysql:5.7
复制代码



  • 启动mysql容器
    启动容器,设置容器名为mysql5.7并把3306端口映射到宿主机的3305端口上,同时设置root初始化密码为123456
  1. 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
复制代码
挂载卷可以参考如下(将路径修改为你想要挂载的位置):
  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已经运行起来了,但是必要设置允许外部访问才可利用。
  1. #进入容器
  2. docker exec -it mysql5.7 bash
  3. #进入mysql数据库--123456
  4. mysql -u root -p
  5. #设置mysql允许访问
  6. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
  7. FLUSH PRIVILEGES;
复制代码



  • 利用navicat一类的Mysql管理工具创建数据wordpress

  • 也可以命令行情势创建
  1. 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 地址。可以利用以下命令:
  1. 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。您可以实验以下命令:
  1. 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、运行安装程序




  • 剩下的就是傻瓜式安装步调

  • 到此就可以登陆啦~


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

兜兜零元

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表