中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

docker部署LNMP和phpMyAdmin的過程

發布時間:2021-09-03 23:44:29 來源:億速云 閱讀:256 作者:chen 欄目:云計算

本篇內容主要講解“docker部署LNMP和phpMyAdmin的過程”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“docker部署LNMP和phpMyAdmin的過程”吧!

環境準備:

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

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

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

項目操作:

(1)   首先自定義一個網絡:

[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的鏡像-->

docker部署LNMP和phpMyAdmin的過程

(3)####運行一個基于nginx鏡像的容器#####
#先將nginx服務運行,以拷貝出nginx的配置文件:

docker部署LNMP和phpMyAdmin的過程

  • 參數解釋:

  • run :創建一個新的容器

  • -d:后臺運行

  • --name:自定義名稱為test1

在宿主機創建需要掛載文件的目錄:
網站主目錄:/wwwroot;
nginx的配置文件:/docker;

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

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

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

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

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

default.conf

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

拷貝nginx網頁目錄

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

修改nginx默認的測試網頁:

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

docker部署LNMP和phpMyAdmin的過程
(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

  • 參數解釋:

  • run:運行一個容器

  • -itd: i:可交互

  • t:偽終端

  • d:保持容器后臺運行

  • --network :基于哪張網卡創建網絡

  • --ip: 定義容器的ip地址

  • -v = --volume 數據卷,進行一個掛載

  • 掛載格式: 宿主機:容器內


    • p:映射端口,宿主機端口:容器內端口

(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就是設置容器里的環境變量,我們設置了mysql的密碼環境變量,這個變量會傳入容器里面來設置mysql的密碼

在本機測試root用戶是否能夠登錄mysql:
首先需要下載mysql客戶端:
[root@sqm-docker01 ~]# yum -y install mysql
docker部署LNMP和phpMyAdmin的過程

(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共享一個存放網頁的目錄,php創建和nginx相同的默認網頁根目錄(-v掛載時,如果容器中沒有該目錄,將會自動創建)。

(7)配置nginx和php-fpm:
我們要對php解析nginx進行一個配置:
創建一個簡單的測試網頁:
docker部署LNMP和phpMyAdmin的過程

  • 接下來需要修改nginx配置文件:
    [root@sqm-docker01 html]# vim  /docker/nginx/conf.d/default.conf
    docker部署LNMP和phpMyAdmin的過程
    docker部署LNMP和phpMyAdmin的過程

(8)配置mysql:
搭建phpMyadmin:

  • phpMyAdmin 是一個以PHP為基礎,以Web-Base方式架構在網站主機上的MySQL的數據庫管理工具,讓管理者可用Web接口管理MySQL數據庫。借由此Web接口可以成為一個簡易方式輸入繁雜SQL語法的較佳途徑,尤其要處理大量數據的導入及導出更為方便。其中一個更大的優勢在于由于phpMyAdmin跟其他PHP程序一樣在網頁服務器上運行,但是您可以在任何地方使用這些程序產生的HTML頁面,也就是于遠程管理MySQL數據庫,方便的創建、修改、刪除數據庫及數據表.

[root@sqm-docker01 html]# pwd
/wwwroot/html

解壓到當前目錄:
[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

docker部署LNMP和phpMyAdmin的過程

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

修改完nginx配置文件,重啟nginx:
docker部署LNMP和phpMyAdmin的過程

訪問測試網頁:
已經將容器中的端口映射到了宿主機上,所以直接訪問宿主機地址:172.16.1.30

docker部署LNMP和phpMyAdmin的過程

訪問php解析nginx網頁:
docker部署LNMP和phpMyAdmin的過程

接下來測試登陸 phpMyAdmin:
訪問url:http://172.16.1.30/phpmyadmin/index.php

docker部署LNMP和phpMyAdmin的過程

缺少mysqli模塊,所以無法訪問,所以需要添加php支持mysql配置模塊:
怎樣針對容器進行添加擴展模塊,我們可以登陸dockerhub進行查詢相關文檔:

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

docker部署LNMP和phpMyAdmin的過程

docker部署LNMP和phpMyAdmin的過程
復制以上dockerfile腳本,到本地進行安裝:
注意還需添加部分內容:
[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

進行構建dockerfile:
[root@sqm-docker01 ~]# docker build  -t phpfpm-mysqli .

docker部署LNMP和phpMyAdmin的過程

  • 參數解釋:

  • build:進行構建

  • -t :指定標簽

  • . 表示當前目錄下的Dockerfile

構建完成后,將原有的php鏡像刪除,運行剛剛過構建成功的支持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

#鏡像指定剛剛構建dockerfile生成的鏡像名。

修改 phpMyAdmin默認的sample(樣例文件):
想要配置文件將其使用,必須進行重命名,將sample去掉。

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

對配置文件進行修改:
[root@sqm-docker01 phpmyadmin]# vim config.inc.php
docker部署LNMP和phpMyAdmin的過程

修改完配置文件重啟php:

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

訪問phpMyAdmin網頁:
輸入url:http://172.16.1.30/phpmyadmin/index.php

#用戶名和密碼,是數據庫的登陸密碼
docker部署LNMP和phpMyAdmin的過程

docker部署LNMP和phpMyAdmin的過程

成功訪問到mysql數據庫。。。。。。

到此,相信大家對“docker部署LNMP和phpMyAdmin的過程”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

芜湖县| 铁岭市| 张家口市| 玉门市| 普安县| 隆安县| 阳曲县| 昌图县| 安国市| 保定市| 保康县| 兴国县| 江川县| 台前县| 丰原市| 罗源县| 阳原县| 武宁县| 华蓥市| 夏河县| 通道| 肇东市| 夏津县| 台东县| 岳阳县| 元谋县| 靖州| 和田市| 定安县| 伊通| 泾川县| 兴义市| 大田县| 海盐县| 云安县| 永春县| 体育| 昭平县| 白城市| 台中市| 苍山县|