如何利用Docker搭建LNMP网站平台
admin
2023-03-25 03:41:10
0

如何利用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。

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

#上述情况,说明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

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

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

#上面执行时会报下图的错误,原因是没有指定数据库主机。

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

#下面指定了正确的数据库主机(lnmp_msyql容器)

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

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

#上面无法执行安装,原因是安装配置文件没有写入权限。

..................................

-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网站平台如何利用Docker搭建LNMP网站平台

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

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

相关内容

热门资讯

特朗普下令不打了,美国的“余粮... 可以说戛然而止,快得让很多人都无法适应。前两周,每一天美国都要打击伊朗一通。就在7月24日白宫会议前...
穆杰塔巴最新表态:支持黎真主党 △伊朗最高领袖穆杰塔巴·哈梅内伊(资料图)当地时间7月26日晚,伊朗最高领袖穆杰塔巴·哈梅内伊对黎巴...
美军瘫痪一艘驶向伊朗的油轮,特... 美国总统特朗普虽下令暂停打击伊朗,但美军仍在执行对霍尔木兹海峡的封锁任务。针对美军瘫痪一艘驶向伊朗油...
“小牌大耍”的底气到底是哪里来... 澎湃首席评论员 李平这两天,“艺人李权哲乘高铁占座事件”在网上引发热议,该艺人参加的活动主办方曾发布...
越南籍船舶南海遇险沉没,中方已... 据凤凰卫视报道,一艘越南船舶7月24日夜间在越南庆和以东220海里附近遇险沉没,船上共62名越南籍人...
李权哲占座、蒙面、装死:娱乐圈... 你买了一张高铁一等座的票,找到自己的位置,18A。有人坐着。你拿出手机看了眼购票记录——没错,18A...
杭州景区咖啡店闯入1条幼蛇,仅... 夏天气温高、湿度大,蛇类活动进入高峰期,千万别被“小蛇无害”的刻板印象骗了!有些幼蛇看着迷你可爱,实...
AI开源公开信签署企业增至50... IT之家 7 月 26 日消息,英伟达、微软、IBM、Meta 等 25 家美国科技企业本周(7 月...
南阳快手短视频代运营企业的服务... 在短视频平台快速发展的背景下,企业通过快手等渠道进行内容运营已成为常见的市场动作。对于希望借助短视频...
普通人该如何跟上科技发展的步伐 这个被称作科技的词汇, 听起来既有宏大之感, 又颇为遥远, 好似仅仅归属于在实验室里专心致志钻研的科...