如何利用Docker搭建LNMP网站平台?为了让大家更加了解Docker搭建LNMP网站平台,小编给大家总结了以下内容,一起往下看吧
一.演示环境
宿主机操作系统:CentOS Linux release 7.5
虚拟机工具:VMware® Workstation 10
应用容器引擎:Docker version 19.03.7
二.实战任务
通过Docker环境来搭建LNMP网站平台
三、操作步骤
1.创建自定义网络
[root@docker /]# docker network create lnmp
b30f1b9528faee766da780efb2d2c07c2d8072a5ca5fb4ae5a2d0315596956f4
[root@docker /]# docker network ls
NETWORK ID NAME DRIVER SCOPE
6c43b3bccf7d bridge bridge local
4072f40421c1 host host local
b30f1b9528fa lnmp bridge local
a7192659cbd7 none null local
2.创建Mysql数据库容器
#创建mysql" target="_blank" href="http://undefined">mysql容器,本地不存在,就会从网上下载最新版本8.0
[root@docker /]#
docker run -itd --name lnmp_mysql --net lnmp -p 3306:3306 --mount src=mysql-vol,dst=/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=sky9890 mysql --character-set-server=utf8
latest: Pulling from library/mysql
..............................
#上面即下载了最新mysql8.0版本镜像
[root@docker sky9890]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql latest 9b51d9275906 2 days ago 547MB
#查看运行的容器
[root@docker wordpress]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ec5683f08179 mysql "docker-entrypoint.s…" 53 minutes ago Up 53 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp lnmp_mysql
#查看lnmp_mysql容器日志
[root@docker /]# docker logs lnmp_mysql
.................................................
#查看lnmp_mysql容器进程
[root@docker wordpress]# docker top lnmp_mysql
UID PID PPID C STIME TTY TIME CMD
polkitd 7594 7578 1 10:20 pts/0 00:00:40 mysqld --character-set-server=utf8
root 7942 7578 0 10:23 pts/1 00:00:00 /bin/bash
root 8132 7942 0 10:27 pts/1 00:00:00 mysql -uroot -p
#创建容器的同时创建了mysql-vol卷
[root@docker wordpress]# docker volume ls
DRIVER VOLUME NAME
local mysql-vol
3.创建所需数据库
[root@docker /]# docker exec lnmp_mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD" -e "create database wp"'
#执行lnmp_mysql容器,查看已创建wordpress所需的数据库。
[root@docker sky9890]# docker exec -it lnmp_mysql /bin/bash
root@ec5683f08179:/#
root@ec5683f08179:/# mysql -uroot -p
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| wp |
+--------------------+
5 rows in set (0.00 sec)
4.创建Nginx-php环境容器
#创建nginx-php-fpm容器,本地不存在的话,临时从网上下载最新版本
#挂载宿主机的类是bind mound
#宿主机目录/html/wwwroot
[root@docker sky9890]#
docker run -itd --name lnmp_web --net lnmp -p 8080:80 --mount type=bind,src=/html/wwwroot,
dst=/var/www/html richarvey/nginx-php-fpm
Unable to find image 'richarvey/nginx-php-fpm:latest' locally
latest: Pulling from richarvey/nginx-php-fpm
c9b1b535fdd9: Already exists
..................................................
6d7274bf00fecf8e4fd0f998005f7640ec4e3e0c0f91cc6cce92bac0fa037a2e
#上面即下载了nginx-php-fpm镜像
[root@docker sky9890]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql latest 9b51d9275906 2 days ago 547MB
richarvey/nginx-php-fpm latest f9c09b816ede 4 weeks ago 331MB
#查看运行的lnmp_mysql容器
[root@docker wordpress]# docker ps进程
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ec5683f08179 mysql "docker-entrypoint.s…" About an hour ago Up About an hour 0.0.0.0:3306->3306/tcp, 33060/tcp lnmp_mysql
6d7274bf00fe richarvey/nginx-php-fpm "docker-php-entrypoi…" 2 hours ago Up 2 hours 443/tcp, 9000/tcp, 0.0.0.0:8080->80/tcp lnmp_web
5.以wordpress博客为测试用例
[root@docker sky9890]# wget https://cn.wordpress.org/wordpress-4.7.4-zh_CN.tar.gz
--2020-03-06 09:49:04-- https://cn.wordpress.org/wordpress-4.7.4-zh_CN.tar.gz
正在解析主机 cn.wordpress.org (cn.wordpress.org)... 198.143.164.252
正在连接 cn.wordpress.org (cn.wordpress.org)|198.143.164.252|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 429 Too Many Requests
2020-03-06 09:49:05 错误 429:Too Many Requests。
#上述情况,说明wordpress官方网站存在问题
#临时变更另外一个地址下载:
[root@docker tools]# wget https://cn.wp.xz.cn/latest-zh_CN.tar.gz
[root@docker tools]# tar zxvf wordpress-5.3.2-zh_CN.tar.gz -C /html/wwwroot/
#宿主机上的目录:
[root@docker tools]# ls /html/wwwroot/
index.html test.html tt wordpress
6.浏览器访问安装并测试
http://192.168.153.141:8080/wordpress
#上面执行时会报下图的错误,原因是没有指定数据库主机。
#下面指定了正确的数据库主机(lnmp_msyql容器)
#上面无法执行安装,原因是安装配置文件没有写入权限。
..................................
-rw-r--r-- 1 1006 1006 2746 3月 7 10:36 wp-config-sample.php
[root@docker wordpress]# cp wp-config-sample.php wp-config.php
[root@docker wordpress]#chmod 777 wp-config.php
#接下来继续通过浏览器安装,不建议拷贝内容写到wp-cofnig.php文件中,只要配置文件有写入权限,安装时自动重写配置文件。
关于如何利用Docker搭建LNMP网站平台就分享到这里了,当然并不止以上和大家分析的办法,不过小编可以保证其准确性是绝对没问题的。希望以上内容可以对大家有一定的参考价值,可以学以致用。如果喜欢本篇文章,不妨把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。