千家信息网

如何利用Docker搭建LNMP网站平台

发表于:2024-11-21 作者:千家信息网编辑
千家信息网最后更新 2024年11月21日,如何利用Docker搭建LNMP网站平台?为了让大家更加了解Docker搭建LNMP网站平台,小编给大家总结了以下内容,一起往下看吧一.演示环境宿主机操作系统:CentOS Linux release
千家信息网最后更新 2024年11月21日如何利用Docker搭建LNMP网站平台

如何利用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网站平台就分享到这里了,当然并不止以上和大家分析的办法,不过小编可以保证其准确性是绝对没问题的。希望以上内容可以对大家有一定的参考价值,可以学以致用。如果喜欢本篇文章,不妨把它分享出去让更多的人看到。

0