在centos7上利用docker部署wordpress博客

  • 掌握Docker基础知识,能够理解Docker镜像与容器的概念
  • 完成Docker安装与启动
  • 掌握Docker镜像与容器相关命令
  • 掌握Docker网络的创建

(1)购买一台阿里云服务器

(2)yum 包更新到最新

sudo yum update -y

(3)安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

(4)设置yum源为阿里云

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

(5)安装docker

sudo yum install docker-ce -y

(6)docker的一些基础命令

Docker的启动与停止

查看docker的版本 docker -v systemctl 命令是系统服务管理器指令 #启动docker systemctl start docker #停止docker systemctl stop docker #重启docker systemctl restart docker #查看docker状态 systemctl status docker #开机启动 systemctl enable docker #查看docker概要信息 docker info #查看docker帮助文档 docker --help ​ ​

WordPress是一个非常著名的PHP编写的博客平台,发展到目前为止已经形成了一个庞大的网站平台系统。在WP上有规模庞大的插件和主题,可以帮助我们快速建立一个博客甚至网站。

在Windows上可以非常方便的安装WordPress,因为IIS上集成了WordPress的一键安装包。而在Linux上安装WordPress就比较复杂了,我们需要配置PHP环境、Apache或者Nginx服务器、MySQL数据库以及各种权限和访问问题。所以在Linux上最好的办法就是使用Docker来安装WordPress。

安装WordPress
有了Docker,安装WordPress就很简单了,直接一条命令搞定。

(7)拉取wordpress镜像

docker pull wordpress

WordPress需要使用MySQL数据库,这里也有两种方式,第一种是安装本地MySQL,第二种就是在Docker中安装MySQL镜像。如果要在Docker中安装MySQL也非常简单,同样一条命令搞定。

(8) 拉取mysql镜像

docker pull mysql

(9)如果从Docker中安装MySQL,还需要额外的配置来启动MySQL,启动MySQL使用下面的命令。 启动mysql容器

docker run --name wp-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql

登录MySQL数据库,创建一个数据库名为:wordpress,这是使用wordpress博客默认的数据库

docker exec -it wp-mysql /bin/bash mysql -uroot -p数据库密码 create database wordpress; 

(10)配置WordPress容器
安装好数据库之后,就可以启动WordPress了。如果使用Docker中安装的MySQL实例,使用下面的命令。、

docker run --name myWordpress --link wp-mysql:mysql -p 8080:80 -d wordpress

name参数指定要启动的WordPress实例名称,link参数指定要使用的Docker MySQL实例名称,p参数将Docker内部的80端口映射到本地的80端口上。

如果使用外部的MySQL数据库,则输入下面的命令。

docker run --name some-wordpress -e WORDPRESS_DB_HOST=ip:3306 -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=123456 -p 8080:80 -d wordpress

WORDPRESS_DB_HOST参数是MySQL的数据库端口号,WORDPRESS_DB_USER是要数据库用户名,WORDPRESS_DB_PASSWORD是数据库密码。这里的WORDPRESS_DB_HOST参数不能填写localhost,因为这样会重定向到WordPress镜像内部的localhost,而这个镜像中实际上没有安装MySQL。所以这里需要填写本机IP地址,才能正确访问到Docker外部的本机的数据库。

因此需要注意,如果使用外部数据库的话,数据库的用户需要具有外部IP的权限,因为这次不是通过本机回环地址访问。默认情况下MySQL安装时候的ROOT用户只允许本地登录,所以可能需要配置允许用户远程登录。

访问WordPress
然后打开浏览器,输入宿主机ip:8080(端口号是命令中设置的),然后就可以看到WordPress了。
按照提示输入用户名等信息,然后安装WordPress,在安装wordpress的时候,注意数据库的地址是,宿主机的Ip
等到它提示安装完成,那么WordPress的安装就算大功告成了。

附言:

关于容器网络

怎么把两个运行的容器加到同一个网路

docker创建网络的四种方式 docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 wang #(docker创建网络) docker run -itd --network=wang mysql #创建容器指定对应的网络 docker network connect wang some-wordpress #(wang是网络名 some-wordpress 是容器名) docker network connect --ip 172.20.240.5 wang reverent_poitras #(wang是网络名 reverent_poitras 是容器名) docker network inspect wang [ { "Name": "wang", "Id": "e309a83edb8deff328a03070a3bab39c4d8b4163e18214f250886226d9f2814d", "Created": "2022-12-02T23:15:19.056727791+08:00", "Scope": "local", "Driver": "bridge", "EnableIPv6": false, "IPAM": { "Driver": "default", "Options": {}, "Config": [ { "Subnet": "172.20.0.0/16", "IPRange": "172.20.240.0/20" } ] }, "Internal": false, "Attachable": false, "Containers": { "379a9700cc26704ef1b8c82474b42f4c4cfc2353ae0a5a5573665fc2e901767c": { "Name": "some-wordpress", "EndpointID": "55a63e0111455cdcd5588f3ab9e352e7ea57f33487607e47bab95136c84c3471", "MacAddress": "02:42:ac:14:f0:02", "IPv4Address": "172.20.240.2/16", "IPv6Address": "" }, "63759cb5fe2197563046c21aea0ad61c2872d7e74ba4de13f1c16b666f9af505": { "Name": "admiring_sammet", "EndpointID": "7490c89c3119bea5e29f66c97b9f940f222f5fb5d16627ec8c6a71e0f288e4ec", "MacAddress": "02:42:ac:14:f0:01", "IPv4Address": "172.20.240.1/16", "IPv6Address": "" }, "a184ee2a3ae72e04fcbad659f7840b2636ea7731e84a1c761e58fabc84e03a6b": { "Name": "reverent_poitras", "EndpointID": "56c6a710ce9c90f655436d0395811a72adce7555947aec237c1a1b49f713cd1b", "MacAddress": "02:42:ac:14:f0:05", "IPv4Address": "172.20.240.5/16", "IPv6Address": "" }, "d51df5672a773b6d8e081ca1e47fb10f6322a663dae12e78d86127df9f64b66e": { "Name": "wp-mysql", "EndpointID": "e449b4d177aa6849a46d635e8d4c83882b7efa73a6832f3086ddc7f8e89425cb", "MacAddress": "02:42:ac:14:f0:03", "IPv4Address": "172.20.240.3/16", "IPv6Address": "" } }, "Options": {}, "Labels": {} } 

原文链接:https://blog.csdn.net/weixin_53977392/article/details/128154688

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享