这次我打算写一个实战教程,以前写的教程大多数是根据自己掌握的知识去写的,并非实战,这次试一下吧
首先docker这个东西我强烈推荐学习,因为真的很好用
1、服务安装
1.1、安装docker
首先,使用yum安装docker,命令如下
yum install -y docker
安装完的截图如下
1.2、配置加速镜像
请通过此篇进行配置:国内Docker镜像加速汇总
配置完成之后,使用下面的命令进行重启
systemctl daemon-reload;systemctl restart docker systemctl enable docker
2、创建容器
2.1、创建MySQL容器
接下来就是创建容器了,首先我们的网站需要记录信息,有账号密码,所以第一个先创建数据库容器,命令如下
docker pull mysql:5.7
docker run -tid -p 3306:3306 --name=mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 /bin/bash
备注:
– docker run :启动容器
– -d:后台运行容器
– -e MYSQL_ROOT_PASSWORD=123456:指定容器的环境参数,此处初始化MariaDB的root密码
– -p 3306:3306:端口映射,这里将容器内的3306端口映射到本机的3306端口–name=mysql #设置这个容器的名称为mysql
mysql:5.7 :通过mysql:5.7镜像创建容器
2.2、创建wordpress容器
创建之前可以先拉镜像(也可以不事先拉取,因为创建容器的时候会自动检测,如果本地找不到指定的镜像则自动从仓库拉)
docker pull wordpress
拉取过程:
root@l:~# docker pull wordpress Using default tag: latest latest: Pulling from library/wordpress bb79b6b2107f: Pull complete 80f7a64e4b25: Pull complete da391f3e81f0: Pull complete 8199ae3052e1: Pull complete 284fd0f314b2: Pull complete f38db365cd8a: Pull complete 1416a501db13: Pull complete be0026dad8d5: Pull complete 7bf43186e63e: Pull complete c0d672d8319a: Pull complete 645db540ba24: Pull complete 6f355b8da727: Pull complete aa00daebd81c: Pull complete 98996914108d: Pull complete 69e3e95397b4: Pull complete 5698325d4d72: Pull complete b604b3777675: Pull complete 57c814ef71bc: Pull complete a336d2404e01: Pull complete 2e2e849c5abf: Pull complete Digest: sha256:4fb444299c3e0b1edc4e95fc360a812ba938c7dbe22a69fb77a3f19eefc5a3d3 Status: Downloaded newer image for wordpress:latest
获取成功之后,我们来看一下我们有哪些镜像
docker images
root@l:~# docker images REPOSITORY TAG IMAGE ID CREATED SIZE wordpress latest 984d142b153e 2 days ago 546MB debian 10 1510e8501783 3 weeks ago 114MB zabbix/zabbix-server-mysql latest 58e1ce60b11e 7 weeks ago 67.2MB mysql 8 e1d7dc9731da 7 weeks ago 544MB debian 9 27f9bc730bd1 8 weeks ago 101MB debian <none> f6dcff9b59af 8 weeks ago 114MB mariadb 10 b28df07deb6c 2 months ago 407MB mariadb latest b28df07deb6c 2 months ago 407MB centos 7 7e6257c9f8d8 2 months ago 203MB centos 8 0d120b6ccaa8 2 months ago 215MB centos latest 0d120b6ccaa8 2 months ago 215MB mysql 5.7 718a6da099d8 3 months ago 448MB mysql 8.0 0d64f46acfd1 3 months ago 544MB debian latest ee11c54e6bb7 3 months ago 114MB
现在我们来创建一个word press镜像,并使之与MySQL镜像互相连接,也就是直接采用数据库镜像的数据库服务
docker run -tid -p 80:80 --link mysql:db wordpress
创建结果:
root@l:~# docker run -tid -p 80:80 --link mysql:db wordpress d1263d635127609147cf0e618aae0f2f7f841b214958ce0d84cd6d6fd2ff66a6 root@l:~# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d1263d635127 wordpress "docker-entrypoint.s…" 18 seconds ago Up 17 seconds 0.0.0.0:80->80/tcp vigilant_bhaskara ba6d0c93793e mysql:5.7 "docker-entrypoint.s…" 6 minutes ago Up 6 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp mysql b31e7fa60187 debian:10 "/bin/bash" 2 days ago Exited (0) 2 days ago ftp_rw 3a6ca1349872 centos:7 "/usr/sbin/init" 6 weeks ago Exited (255) 3 weeks ago musing_sinoussi b17dd08b53c8 centos:7 "/usr/sbin/init" 7 weeks ago Exited (255) 7 weeks ago 0.0.0.0:33061->3306/tcp db fec17fdafa0c zabbix/zabbix-server-mysql "/sbin/tini -- /usr/…" 7 weeks ago Exited (143) 7 weeks ago zabbix-server-mysql root@l:~#
因为没设置容器名称,所以如果对容器名称有要求的话,可以对该容器重命名
docker reaname ${容器名/ID} ${新的名称}
修改结果如下:
root@l:~# docker rename vigilant_bhaskara wordpress root@l:~# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d1263d635127 wordpress "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 0.0.0.0:80->80/tcp wordpress ba6d0c93793e mysql:5.7 "docker-entrypoint.s…" 9 minutes ago Up 9 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp mysql b31e7fa60187 debian:10 "/bin/bash" 2 days ago Exited (0) 2 days ago ftp_rw 3a6ca1349872 centos:7 "/usr/sbin/init" 6 weeks ago Exited (255) 3 weeks ago musing_sinoussi b17dd08b53c8 centos:7 "/usr/sbin/init" 7 weeks ago Exited (255) 7 weeks ago 0.0.0.0:33061->3306/tcp db fec17fdafa0c zabbix/zabbix-server-mysql "/sbin/tini -- /usr/…" 7 weeks ago Exited (143) 7 weeks ago zabbix-server-mysql root@l:~#
3、初始化部署
3.1、访问安装程序
这时候我们来浏览器访问服务器地址,因为我是本地部署的,所以我的访问地址是:
http://localhost
在浏览器输入网址之后,进入wordpress语言选择界面
3.2、选择语言
这时候已经可以配置网站信息,在这里选择我们的中文之后,点击继续:
3.3、配置数据库信息
点击继续之后,进入数据库配置提示信息:这一步的配置提示不用管,直接下一步
然后进入这个界面:
这时候我们需要查看MySQL容器的IP地址,然后进入MySQL容器创建一个数据库给wordpress使用,操作如下:
3.4、创建数据库
首先进入容器:
docker exec -ti mysql /bin/bash
然后尝试登录:
root@ba6d0c93793e:/# mysql -uroot -p123456 mysql: [Warning] Using a password on the command line interface can be insecure. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
此时提示服务未运行,所以我们需要先启动服务:
查询到地址之后,还要创建一个wordpress的数据库,所以我们要进入数据库容器
docker exec -it mariadb /bin/bash ##进入数据库容器
进入之后,登录数据库
mysql -uroot -p
上面两条命令的执行截图如下
进入之后,我们需要创建一个数据库给word press使用,所以这时候输入
create database wordpress;
然后新建一个数据库用户用于专属使用wordpress,第一个涂抹点就是用户名,第二个就是密码;%代表允许任何主机登陆,可以输入特定的IP
CREATE USER 'user'@'%' IDENTIFIED BY 'passwd';
创建完成之后给予该用户相关操作权限,下面这个命令就是给该用户对wordpress数据库所有的操作权限
grant all on wordpress.* to 'user'@'%' with grant option;
最后刷新权限
flush privileges;
这时候就可以回到网页那里了,输入刚才那些信息
点击提交之后就可以连接到数据库了
然后是设置网站信息,设置之后点击安装
提示安装成功
最后打开首页
—————————————————博客部分完结————————————————————–
原文链接:https://blog.csdn.net/qq_36154886/article/details/81270437?ops_request_misc=&request_id=a33692c262e541fbad46a1a655f78274&biz_id=&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~koosearch~default-19-81270437-null-null.268%5Ev1%5Econtrol&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