温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-03-24 11:32:21 来源:亿速云 阅读:385 作者:小新 栏目:云计算

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI