1. <i id="s6b2k"><small id="s6b2k"></small></i>
    <b id="s6b2k"><bdo id="s6b2k"></bdo></b>
  2. <wbr id="s6b2k"></wbr>

    docker部署LNMP架構的方法_docker

    來源:腳本之家  責任編輯:小易  

    環境要求:

    IP  hostname
    192.168.1.1 node1

    項目規劃:

    容器網段:172.16.10.0/24

    NGINX:172.16.10.10

    MySQL:172.16.10.20

    PHP:172.16.10.20

    網站根目錄:/www

    nginx配置文件:/conf

    mysql持久化目錄:/var/lib/mysql

    提前準備服務配置文件:

    nginx

    <strong>docker run -itd --name test nginx       
    #運行test容器  
    docker cp test:/etc/nginx /conf      
    #copy主配置文件
    ls /conf/
    conf.d     koi-win   nginx.conf  win-utf
    fastcgi_params mime.types scgi_params
    koi-utf     modules   uwsgi_params
    docker cp test:/usr/share/nginx/html /www  
     #copy網站目錄
    ls /www/
    50x.html 
    index.html     
    </strong>

    mysql

    <strong>[root@node1 ~]# docker rm -f test
    test
    [root@node1 ~]# docker run -itd --name test -e MYSQL_ROOT_PASSWORD=pwd123 mysql:5.7
    6b8d73ecd541d454f121302963a85d53131286d3118a968525a24ad2315b047b
    [root@node1 ~]# docker exec -it test sh
    # mysql -uroot -ppwd123 -h127.0.0.1
    ..........
    mysql> create database test;
    Query OK, 1 row affected (0.00 sec)
     
    mysql> show databases;
    +--------------------+
    | Database      |
    +--------------------+
    | information_schema |
    | mysql       |
    | performance_schema |
    | sys        |
    | test        |
    +--------------------+
    5 rows in set (0.00 sec)
     
    mysql> exit
    Bye
    # exit
    [root@node1 ~]# docker cp test:/var/lib/mysql /var/lib/mysql
    </strong>

    1、配置lnmp虛擬網卡,網段172.16.10.0/24,網關172.16.10.254

    <strong>docker network create -d bridge --subnet 172.16.10.0/24 --gateway 172.16.10.254 lnmp
    </strong>

     2、創建nginx容器測試訪問 

    <strong>#創建mysql掛載數據目錄、開發端口、指定IP
    [root@node1 ~]# docker run -itd --name mysql -p 3306:3306 -v /var/lib/mysql:/var/lib/mysql --network lnmp --ip 172.16.10.20 mysql:5.7
    448227483a9c3141c2155d2c7b027aec263bfcfe4ebc49371b6817c17565ff81
    #查看運行狀態
    [root@node1 ~]# docker ps
    CONTAINER ID  IMAGE     COMMAND         CREATED     STATUS     PORTS                NAMES
    448227483a9c  mysql:5.7   "docker-entrypoint.s…"  10 seconds ago  Up 9 seconds  0.0.0.0:3306->3306/tcp, 33060/tcp  mysql
    4d1e99a06972  nginx:latest  "/docker-entrypoint.…"  3 minutes ago  Up 3 minutes  0.0.0.0:80->80/tcp         nginx
    6b8d73ecd541  mysql:5.7   "docker-entrypoint.s…"  9 minutes ago  Up 9 minutes  3306/tcp, 33060/tcp         test
    #測試登錄
    [root@node1 ~]# yum -y install mariadb
    [root@node1 ~]# mysql -uroot -ppwd123 -h127.0.0.1
    Welcome to the MariaDB monitor. Commands end with ; or \g.
    Your MySQL connection id is 2
    Server version: 5.7.33 MySQL Community Server (GPL)
     
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
     
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
     
    MySQL [(none)]> Bye
    </strong>

     3、運行MySQL容器 

    <strong>[root@node1 www]# docker run -itd --name php-fpm -p 9000:9000 -v /www:/usr/share/nginx/html --network lnmp --ip 172.16.10.30 php:7.2-fpm 
    ae09213d7c8c84299b1522ca474fccf7f26e27973cd02563891c37d51799b766
    [root@node1 www]# docker ps
    CONTAINER ID  IMAGE     COMMAND         CREATED     STATUS     PORTS                NAMES
    ae09213d7c8c  php:7.2-fpm  "docker-php-entrypoi…"  7 seconds ago  Up 6 seconds  0.0.0.0:9000->9000/tcp       php-fpm</strong>

     4、創建php-fpm容器

    <strong>[root@node1 ~]# vim /conf/conf.d/default.conf
    </strong>

     5、nginx和PHP的連接 

    5.1、添加nginx靜態的測試界面

    <strong>[root@node1 ~]# echo Hello LNMP! > /www/index.html
    [root@node1 ~]# cat /www/index.html
    Hello LNMP!
    [root@node1 ~]# curl 192.168.1.1
    Hello LNMP!
    </strong>

    5.2、添加PHP測試頁面 

    <strong>[root@node1 ~]# cd /www
    [root@node1 www]# vim test.php
    [root@node1 www]# cat test.php
    <?php
    phpinfo();
    ?>
    [root@node1 www]# docker restart nginx
    nginx
    [root@node1 www]# pwd
    /www
    [root@node1 www]# ls
    50x.html index.html test.php
    </strong>

    能夠訪問到以上兩個界面,說明nginx和php的連接,沒有問題,接下來是 php和mysql的連接。在這里我們使用一個phpMyAdmin的數據庫管理工 具。

    6、測試PHP容器與Mysql容器的協調性、工具phpMyadmin

    [root@node1 www]# pwd
    /www
    [root@node1 www]# unzip phpMyAdmin-4.9.0.1-all-languages.zip
    [root@node1 www]# mv phpMyAdmin-4.9.0.1-all-languages phpMyAdmin
    [root@node1 www]# rm -rf phpMyAdmin  

    6.1、更新nginx配置文件 

    [root@node1 www]# cd /conf/conf.d/
    [root@node1 conf.d]# vim default.conf

     

    內容如下:

    location /phpmyadmin {
      root  /usr/share/nginx/html;
      index index.php index.html index.htm;
    }
    location ~ /phpmyadmin/(?<after_ali>(.*)\.(php|php5)?$) {
      root      /usr/share/nginx/html;
      fastcgi_pass  172.16.10.30:9000;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      include    fastcgi_params;
    }  

    測試訪問:

    其實這主要是php鏡像不支持連接mysql,我們要重新寫一個。

    7、解決php不關聯mysql

    [root@node1 /]# cd /file/
    [root@node1 file]# ls
    Dockerfile
    [root@node1 file]# cat 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-freetypedir=/usr/include/ --with-jpeg-dir=/usr/include/ \
    && docker-php-ext-install -j$(nproc) gd \
    && docker-php-ext-install mysqli pdo pdo_mysql
    [root@node1 file]# docker build -t php_mysql .
    #刪除php容器
    [root@node1 /]# docker rm php-fpm -f
    php-fpm
    #運行phpmysql容器
    [root@node1 /]# docker run -itd --name phpfpm -p 9000:9000 -v /www:/usr/share/nginx/html --network lnmp --ip 172.16.10.30 phpmysql:latest
    c4e943880fd51f947cba64ba0006abd26a923439a3e39a0350ca2561b42b8026
    [root@node1 /]# docker ps
    CONTAINER ID  IMAGE       COMMAND         CREATED     STATUS     PORTS                NAMES
    c4e943880fd5  phpmysql:latest  "docker-php-entrypoi…"  14 seconds ago  Up 13 seconds  0.0.0.0:9000->9000/tcp       phpfpm

    7.1、phpmysql配置指向mysql地址

    [root@node1 www]# cd /www/phpmyadmin/
    [root@node1 phpmyadmin]# mv config.sample.inc.php config.inc.php
    [root@node1 phpmyadmin]# vim config.inc.php
    [root@node1 phpmyadmin]# docker restart phpfpm
    phpfpm

    8、訪問測試  

    9、趁熱打鐵,在發布一個dz論壇

    dz論壇鏈接地址:http://down.chinaz.com/soft/41403.htm

    #上傳
    [root@node1 /]# ls
    bin    Discuz_X3.4_SC_UTF8_20210119.zip
    #移動到/www網頁目錄下
    mv upload/ /www/dz
    chmod 777 /www/dz<br>#保證數據庫有dz庫<br>#授權一個dz庫的管理員<br>#注意安裝是IP為數據庫的IP不要寫錯<br>

      

    到此這篇關于docker部署LNMP架構的方法的文章就介紹到這了,更多相關docker部署LNMP架構內容請搜索真格學網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持真格學網!

    您可能感興趣的文章:docker部署LNMP&phpMyAdmin的方法步驟docker 搭建lnmp環境的方法步驟使用docker創建集成服務lnmp環境詳解使用 Docker 構建 LNMP 環境Ubuntu 搭建基于Docker的LNMP+Redis的開發環境(圖文)

  3. 本文相關:
  4. 在docker中跑hadoop與鏡像制作方法
  5. docker中搭建overlay 網絡實驗環境
  6. docker 自動部署tomcat詳解
  7. spring cloud中使用jib進行docker部署的步驟詳解
  8. docker容器日志查看與清理的方法(親測有效)
  9. win10家庭版安裝docker遇到的問題小結
  10. dockerfile制作官方tomcat鏡像及鏡像使用詳解
  11. 詳解docker容器的日志處理
  12. 在ubuntu 16.04上用docker swarm和digitalocean創建一個docker容
  13. 在docker中使用redis的步驟詳解
  14. 如何通過docker容器安裝LNMP服務器環境
  15. 使用docker該如何規劃容器的部署
  16. 怎么使用docker實現負載均衡部署
  17. docker pull 一個lnmp的鏡像下來安裝 怎么修改他的...
  18. 如何把應用部署到docker容器內
  19. docker的好處,為什么使用docker來部署服務器
  20. 基于docker的lamp的wordpress博客部署選擇什么linu...
  21. linux服務器端有一個mysql,如何部署到docker容器里
  22. 怎么使用Docker搭建PHP開發環境
  23. 如何正確使用docker構建lnmp環境
  24. 網站首頁網頁制作腳本下載服務器操作系統網站運營平面設計媒體動畫電腦基礎硬件教程網絡安全dockerhyper-vvmwarevirtualboxxenserverkvmqemuopenvzxencloudstackopenstack云計算技術云其它首頁服務器云和虛擬化docker部署lnmp&phpmyadmin的方法步驟docker 搭建lnmp環境的方法步驟使用docker創建集成服務lnmp環境詳解使用 docker 構建 lnmp 環境ubuntu 搭建基于docker的lnmp+redis的開發環境(圖文)在docker中跑hadoop與鏡像制作方法docker中搭建overlay 網絡實驗環境docker 自動部署tomcat詳解spring cloud中使用jib進行docker部署的步驟詳解docker容器日志查看與清理的方法(親測有效)win10家庭版安裝docker遇到的問題小結dockerfile制作官方tomcat鏡像及鏡像使用詳解詳解docker容器的日志處理在ubuntu 16.04上用docker swarm和digitalocean創建一個docker容在docker中使用redis的步驟詳解docker 給運行中的容器設置端口映docker獲取鏡像報錯docker: errodocker.service啟動失敗:unit ndocker 清理命令集錦淺談docker-compose網絡設置之neubuntu14.04+docker的安裝及使用docker容器如何優雅的終止詳解docker容器訪問宿主機網絡的方法詳解如何使用docker部署一個web項詳解docker國內鏡像拉取和鏡像加docker swarm 集群故障與異常詳解docker-compose 建立elk集群的實現方法docke容器分離部署lnmp的實現docker dockerfile文件制作自己的鏡像的方docker tag和docker push的使用詳解詳解通過docker搭建mysql容器+tomcat容器docker 鏡像和容器的區別詳解在docker中部署并啟動redis的方法詳解docker數據管理(數據卷&數據卷容器)docker 限制容器對內存的使用詳解
    免責聲明 - 關于我們 - 聯系我們 - 廣告聯系 - 友情鏈接 - 幫助中心 - 頻道導航
    Copyright © 2017 www.yu113.com All Rights Reserved
    战天txt全集下载