您好,登錄后才能下訂單哦!
如何利用Docker搭建LNMP網(wǎng)站平臺?為了讓大家更加了解Docker搭建LNMP網(wǎng)站平臺,小編給大家總結了以下內(nèi)容,一起往下看吧
一.演示環(huán)境
宿主機操作系統(tǒng):CentOS Linux release 7.5
虛擬機工具:VMware? Workstation 10
應用容器引擎:Docker version 19.03.7
二.實戰(zhàn)任務
通過Docker環(huán)境來搭建LNMP網(wǎng)站平臺
三、操作步驟
1.創(chuàng)建自定義網(wǎng)絡
[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.創(chuàng)建Mysql數(shù)據(jù)庫容器
#創(chuàng)建mysql" target="_blank" href="http://undefined">mysql容器,本地不存在,就會從網(wǎng)上下載最新版本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
#創(chuàng)建容器的同時創(chuàng)建了mysql-vol卷
[root@docker wordpress]# docker volume ls
DRIVER VOLUME NAME
local mysql-vol
3.創(chuàng)建所需數(shù)據(jù)庫
[root@docker /]# docker exec lnmp_mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD" -e "create database wp"'
#執(zhí)行l(wèi)nmp_mysql容器,查看已創(chuàng)建wordpress所需的數(shù)據(jù)庫。
[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.創(chuàng)建Nginx-php環(huán)境容器
#創(chuàng)建nginx-php-fpm容器,本地不存在的話,臨時從網(wǎng)上下載最新版本
#掛載宿主機的類是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... 已連接。
已發(fā)出 HTTP 請求,正在等待回應... 429 Too Many Requests
2020-03-06 09:49:05 錯誤 429:Too Many Requests。
#上述情況,說明wordpress官方網(wǎng)站存在問題
#臨時變更另外一個地址下載:
[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
#上面執(zhí)行時會報下圖的錯誤,原因是沒有指定數(shù)據(jù)庫主機。
#下面指定了正確的數(shù)據(jù)庫主機(lnmp_msyql容器)
#上面無法執(zhí)行安裝,原因是安裝配置文件沒有寫入權限。
..................................
-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
#接下來繼續(xù)通過瀏覽器安裝,不建議拷貝內(nèi)容寫到wp-cofnig.php文件中,只要配置文件有寫入權限,安裝時自動重寫配置文件。
關于如何利用Docker搭建LNMP網(wǎng)站平臺就分享到這里了,當然并不止以上和大家分析的辦法,不過小編可以保證其準確性是絕對沒問題的。希望以上內(nèi)容可以對大家有一定的參考價值,可以學以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。