最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

docker部署LNMP&phpMyAdmin的方法步驟

 更新時間:2019年11月07日 10:17:08   作者:wx5b9c94b17c62a  
這篇文章主要介紹了docker部署LNMP&phpMyAdmin的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

環(huán)境準(zhǔn)備:

在一臺主機(jī)上部署lnmp,基于多個容器:
nginx服務(wù):172.16.10.10
mysql服務(wù):172.16.10.20
php服務(wù):172.16.10.30

解決容器固定ip地址問題:

注意:因為當(dāng)容器停止時或者將容器刪除,再次運行相同的容器,它的ip地址不再時原來的地址,所以我們需要自定義一個網(wǎng)段,來指定容器的ip地址。

項目操作:

(1) 首先自定義一個網(wǎng)絡(luò):

[root@sqm-docker01 ~]# docker network create -d bridge --subnet 172.16.10.0/24 --gateway 172.16.10.1 mynet1

(2)下載nginx,php:fpm,mysql-5.7鏡像:

[root@sqm-docker01 ~]# docker pull nginx 
[root@sqm-docker01 ~]# docker pull php:7.2-fpm <!--使用的是php:7.2-fpm的鏡像-->
[root@sqm-docker01 ~]# docker pull mysql:5.7  <!--使用的是mysql:5.7的鏡像-->

(3)####運行一個基于nginx鏡像的容器#####

#先將nginx服務(wù)運行,以拷貝出nginx的配置文件:

參數(shù)解釋:

  • run :創(chuàng)建一個新的容器
  • -d:后臺運行
  • --name:自定義名稱為test1

在宿主機(jī)創(chuàng)建需要掛載文件的目錄:

網(wǎng)站主目錄:/wwwroot;

nginx的配置文件:/docker;

[root@sqm-docker01 ~]# mkdir /wwwroot
[root@sqm-docker01 ~]# mkdir /docker

##使用docker cp命令將nginx存放配置文件的目錄拷貝到本機(jī),

注意:docker cp命令可以將宿主機(jī)上的文件拷貝到容器中,也可以反向拷貝,將容器中的文件或目錄拷貝到本機(jī)

[root@sqm-docker01 ~]# docker cp test1:/etc/nginx /docker/ #使用docker cp將nginx存放配置文件的目錄拷貝到宿主機(jī)。

[root@sqm-docker01 ~]# ls /docker/nginx/conf.d/ 

default.conf  

#注意:需要修改的是nginx conf.d目錄下的default.conf文件,而不是nginx.conf 文件。

拷貝nginx網(wǎng)頁目錄:

[root@sqm-docker01 ~]# docker cp test1:/usr/share/nginx/html /wwwroot/
[root@sqm-docker01 ~]# ls /wwwroot/html/
50x.html index.html

修改nginx默認(rèn)的測試網(wǎng)頁:

[root@sqm-docker01 html]# echo "<h1>hello welcome to nginx web</h1>" > index.html


(4)運行nginx容器:

分別將容器中目錄掛載到本地目錄,并且指定ip地址

[root@sqm-docker01 ~]# docker run -itd --name nginx --network my_net1 --ip 172.16.10.10 -p 80:80 -v /docker/nginx:/etc/nginx -v /wwwroot/html:/usr/share/nginx/html nginx:latest

參數(shù)解釋:

  • run:運行一個容器
  • -itd: i:可交互
  • t:偽終端
  • d:保持容器后臺運行
  • --network :基于哪張網(wǎng)卡創(chuàng)建網(wǎng)絡(luò)
  • --ip: 定義容器的ip地址
  • -v = --volume 數(shù)據(jù)卷,進(jìn)行一個掛載
  • 掛載格式: 宿主機(jī):容器內(nèi)
  • p:映射端口,宿主機(jī)端口:容器內(nèi)端口

(5)運行mysql容器:

[root@sqm-docker01 ~]# docker run --name mysql -e MYSQL_ROOT_PASSWORD=123.com -d -p 3306:3306 --network my_net1 --ip 172.16.10.20 mysql:5.7
-e就是設(shè)置容器里的環(huán)境變量,我們設(shè)置了mysql的密碼環(huán)境變量,這個變量會傳入容器里面來設(shè)置mysql的密碼

在本機(jī)測試root用戶是否能夠登錄mysql:

首先需要下載mysql客戶端:

[root@sqm-docker01 ~]# yum -y install mysql

(6)運行php容器:

[root@sqm-docker01 ~]# docker run -itd -p 9000:9000 --name phpfpm -v /wwwroot/html:/usr/share/nginx/html --network my_net1 --ip 172.16.10.30 php:7.2-fpm

注意:
保證nginx和php共享一個存放網(wǎng)頁的目錄,php創(chuàng)建和nginx相同的默認(rèn)網(wǎng)頁根目錄(-v掛載時,如果容器中沒有該目錄,將會自動創(chuàng)建)。

(7)配置nginx和php-fpm:

我們要對php解析nginx進(jìn)行一個配置:

創(chuàng)建一個簡單的測試網(wǎng)頁:

接下來需要修改nginx配置文件:

[root@sqm-docker01 html]# vim /docker/nginx/conf.d/default.conf


(8)配置mysql:

搭建phpMyadmin:

phpMyAdmin 是一個以PHP為基礎(chǔ),以Web-Base方式架構(gòu)在網(wǎng)站主機(jī)上的MySQL的數(shù)據(jù)庫管理工具,讓管理者可用Web接口管理MySQL數(shù)據(jù)庫。借由此Web接口可以成為一個簡易方式輸入繁雜SQL語法的較佳途徑,尤其要處理大量數(shù)據(jù)的導(dǎo)入及導(dǎo)出更為方便。其中一個更大的優(yōu)勢在于由于phpMyAdmin跟其他PHP程序一樣在網(wǎng)頁服務(wù)器上運行,但是您可以在任何地方使用這些程序產(chǎn)生的HTML頁面,也就是于遠(yuǎn)程管理MySQL數(shù)據(jù)庫,方便的創(chuàng)建、修改、刪除數(shù)據(jù)庫及數(shù)據(jù)表.
[root@sqm-docker01 html]# pwd
/wwwroot/html

解壓到當(dāng)前目錄:

[root@sqm-docker01 html]# unzip phpMyAdmin-4.9.1-all-languages.zip

重命名:

[root@sqm-docker01 html]# mv phpMyAdmin-4.9.1-all-languages phpmyadmin

修改nginx配置文件--配置與phpMyAdmin連接:

[root@sqm-docker01 html]# vim /docker/nginx/conf.d/default.conf

將原先的location配置項進(jìn)行拷貝,再添加以下兩個location配置段。

修改完nginx配置文件,重啟nginx:

訪問測試網(wǎng)頁:

已經(jīng)將容器中的端口映射到了宿主機(jī)上,所以直接訪問宿主機(jī)地址:172.16.1.30

訪問php解析nginx網(wǎng)頁:

接下來測試登陸 phpMyAdmin:

訪問url:http://172.16.1.30/phpmyadmin/index.php

缺少mysqli模塊,所以無法訪問,所以需要添加php支持mysql配置模塊:

怎樣針對容器進(jìn)行添加擴(kuò)展模塊,我們可以登陸dockerhub進(jìn)行查詢相關(guān)文檔:

鏈接路徑:https://hub.docker.com/


復(fù)制以上dockerfile腳本,到本地進(jìn)行安裝:

注意還需添加部分內(nèi)容:

[root@sqm-docker01 ~]# vim Dockerfile
FROM php:7.2-fpm
RUN apt-get update && apt-get install -y \
    libfreetype6-dev \
    libjpeg62-turbo-dev \
    libpng-dev \
  && docker-php-ext-install -j$(nproc) iconv \
  && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
  && docker-php-ext-install -j$(nproc) gd \
    && docker-php-ext-install mysqli pdo pdo_mysql

進(jìn)行構(gòu)建dockerfile:

[root@sqm-docker01 ~]# docker build -t phpfpm-mysqli .

參數(shù)解釋:

  • build:進(jìn)行構(gòu)建
  • -t :指定標(biāo)簽
  • . 表示當(dāng)前目錄下的Dockerfile

構(gòu)建完成后,將原有的php鏡像刪除,運行剛剛過構(gòu)建成功的支持mysqli模塊的鏡像:

[root@sqm-docker01 ~]# docker stop phpfpm 
phpfpm
[root@sqm-docker01 ~]# docker rm phpfpm 
phpfpm
[root@sqm-docker01 ~]# docker run --name phpfpm -d -p 9000:9000 -v /wwwroot/html:/usr/share/nginx/html --network my_net1 --ip 172.16.10.30 phpfpm-mysqli:latest

#鏡像指定剛剛構(gòu)建dockerfile生成的鏡像名。

修改 phpMyAdmin默認(rèn)的sample(樣例文件):

想要配置文件將其使用,必須進(jìn)行重命名,將sample去掉。

[root@sqm-docker01 phpmyadmin]# pwd
/wwwroot/html/phpmyadmin
[root@sqm-docker01 phpmyadmin]# cp config.sample.inc.php config.inc.php

對配置文件進(jìn)行修改:

[root@sqm-docker01 phpmyadmin]# vim config.inc.php

修改完配置文件重啟php:

[root@sqm-docker01 phpmyadmin]# docker restart phpfpm 
phpfpm

訪問phpMyAdmin網(wǎng)頁:

輸入url:http://172.16.1.30/phpmyadmin/index.php

#用戶名和密碼,是數(shù)據(jù)庫的登陸密碼

成功訪問到mysql數(shù)據(jù)庫。。。。。。

至此在docker中多容器之間部署lnmp搭建完成。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 群暉NAS利用Docker容器搭建KMS激活服務(wù)器實現(xiàn)激活windows系統(tǒng)和office(操作步驟)

    群暉NAS利用Docker容器搭建KMS激活服務(wù)器實現(xiàn)激活windows系統(tǒng)和office(操作步驟)

    本文跟大家分享一下如何利用群暉NAS的Docker容器套件搭建KMS服務(wù)器,并演示如何利用我們自己的KMS服務(wù)器激活Windows操作系統(tǒng)與Microsoft Office,感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • Centos8無法安裝docker問題的解決方法

    Centos8無法安裝docker問題的解決方法

    這篇文章主要給大家介紹了關(guān)于Centos8無法安裝docker問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Gogs+Jenkins+Docker 自動化部署.NetCore的方法步驟

    Gogs+Jenkins+Docker 自動化部署.NetCore的方法步驟

    這篇文章主要介紹了Gogs+Jenkins+Docker 自動化部署.NetCore,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-06-06
  • Docker新手初探之常用命令實踐記錄

    Docker新手初探之常用命令實踐記錄

    這篇文章主要給大家介紹了關(guān)于Docker新手初探之常用命令實踐的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Docker nginx安裝與配置掛載的方法

    Docker nginx安裝與配置掛載的方法

    這篇文章主要介紹了Docker nginx安裝與配置掛載的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • 在Docker容器中部署Django的時區(qū)問題

    在Docker容器中部署Django的時區(qū)問題

    本文主要介紹了在Docker容器中部署Django的時區(qū)問題,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Docker 容器操作指令匯總詳解

    Docker 容器操作指令匯總詳解

    這篇文章主要介紹了Docker 容器操作指令匯總詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • Docker 清理的常用方法及問題

    Docker 清理的常用方法及問題

    這篇文章主要介紹了Docker 清理的常用方法及問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • 淺談Docker Desktop for Linux和Docker Engine區(qū)別

    淺談Docker Desktop for Linux和Docker Engine

    本文主要介紹了Docker Desktop for Linux和Docker Engine區(qū)別,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • Docker啟動參數(shù)超詳細(xì)講解

    Docker啟動參數(shù)超詳細(xì)講解

    在啟動Docker容器時,我們可以通過添加參數(shù)來修改容器的配置,這樣可以靈活地適應(yīng)不同的場景和需求,這篇文章主要給大家介紹了關(guān)于Docker啟動參數(shù)的相關(guān)資料,需要的朋友可以參考下
    2024-01-01

最新評論

阿鲁科尔沁旗| 乌拉特中旗| 莱芜市| 巴彦县| 大安市| 永清县| 昭平县| 孝义市| 濮阳县| 正定县| 莱西市| 邯郸市| 谷城县| 仁布县| 诸城市| 正宁县| 开封县| 雷波县| 体育| 遂川县| 图木舒克市| 白玉县| 察哈| 怀远县| 日照市| 黎平县| 曲周县| 扎兰屯市| 固原市| 伊通| 廊坊市| 兰坪| 沙湾县| 金昌市| 旬邑县| 永平县| 普安县| 宾阳县| 永泰县| 滕州市| 石家庄市|