主頁 > 知識庫 > Docker如何快速搭建LNMP環(huán)境(最新)

Docker如何快速搭建LNMP環(huán)境(最新)

熱門標(biāo)簽:智能手機 檢查注冊表項 硅谷的囚徒呼叫中心 網(wǎng)站建設(shè) 阿里云 美圖手機 百度競價點擊價格的計算公式 使用U盤裝系統(tǒng)

前言

提示:這里可以添加本文要記錄的大概內(nèi)容:
例如:隨著人工智能的不斷發(fā)展,機器學(xué)習(xí)這門技術(shù)也越來越重要,很多人都開啟了學(xué)習(xí)機器學(xué)習(xí),本文就介紹了機器學(xué)習(xí)的基礎(chǔ)內(nèi)容。

提示:以下是本篇文章正文內(nèi)容,下面案例可供參考

一、Mysql?

1.拉取mysql鏡像

docker pull mysql:5.6

2.運行啟動mysql容器

docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=xy123456 --name xy_mysql mysql:5.6

參數(shù)說明:
-d 讓容器在后臺運動
-p 添加主機到容器的端口映射
-e 設(shè)置mysql環(huán)境變量,設(shè)置root的初始密碼
–name 給容器取名字
最后一個參數(shù)是鏡像名稱,為拉取鏡像的名稱

二、安裝php-fpm

1.拉取php-fpm鏡像

docker pull php:7.0-fpm

也可拉docker pull php:7.4.20-fpm docker pull php:7.3.28-fpm 這些版本在倉庫里都是存在,放心拉

2.運行啟動php-fpm容器

docker run -d -v D:/docker/nginx:/var/www/html -p 9000:9000 --link xy_mysql:mysql --name xy_phpfpm php:7.0-fpm

參數(shù)說明:
-d 讓容器在后臺運動
-p 添加主機到容器的端口映射
-v 添加目錄映射,主機上的D:/docker/nginx映射到/var/www/html ,即同步目錄下內(nèi)容.'D:/docker/nginx'這個主機下的目錄你直接復(fù)制你想要
寫代碼的目錄即可,$PWD如果有效的話是指當(dāng)前目錄,我是因為使用此參數(shù)報錯,所以直接復(fù)制粘貼了路徑.
–name 給容器取名字
–link 與另外一個容器建立聯(lián)系,這樣可以在當(dāng)前容器去使用另一個容器的服務(wù)
最后一個參數(shù)是鏡像名稱,為拉取鏡像的名稱

3.進入php-fpm容器

docker exec -it xy_phpfpm bash

參數(shù)說明
-t 在容器里生產(chǎn)一個偽終端
-i 對容器內(nèi)的標(biāo)準(zhǔn)輸入 (STDIN) 進行交互

在/var/www/html/下創(chuàng)建一個index.php文件后,你會發(fā)現(xiàn)本地也會有,這就同步了,因為啟動容器時已經(jīng)把主機和容器相應(yīng)的目錄進行
映射了;


4.安裝pdo_mysql模塊

因之后要使用pdo模塊進行測試,所以安裝pdo_mysql模塊.

docker-php-ext-install pdo_mysql

php -m 打印查看是否安裝成功;

這樣安裝之后在phpinfo()打印后不一定會顯示擴展,之后測試會有修改的步驟

三、安裝nginx

1.拉取nginx鏡像

docker pull nginx:1.10.3

2.運行nginx容器

docker run -d -p 80:80 -v  D:/docker/nginx:/var/www/html --link xy_phpfpm:phpfpm --name xy_nginx nginx:1.10.3

3.進入nginx容器,修改nginx配置文件讓他支持php

docker exec -it xy_nginx bash

這里推薦去 /etc/nginx/conf.d/default.conf下去更改;
fastcgi_pass 寫php:7.0-fpm:9000 別寫起的別名可能會失效;
root寫成之前php容器設(shè)置的代碼目錄;

4.測試安裝是否成功

修改index.php代碼

<?php

phpinfo();

這個在使用之前安裝的命令之后phpinfo()并沒有mysql,需要進入php.ini中去更改

5.修改配置

docker exec -it xy_phpfpm bash

這個容器中php.ini 在/usr/local/etc/php下 php.ini-development php.ini-production
這兩個文件就是php.ini 文件是一模一樣 看名字就知道什么意思了
把extension=php_pdo_mysql.dll擴展放開就可以

6.鏈接mysql測試

修改index.php代碼

try {
    $con = new PDO('mysql:host=xy_mysql;dbname=mysql', 'root', 'xy123456');
    $con->query('SET NAMES UTF8');
    $res =  $con->query('select * from user');
    while ($row = $res->fetch(PDO::FETCH_ASSOC)) {
      //  echo "id:{$row['id']} name:{$row['name']}";
	  print_r($row);
    }
} catch (PDOException $e) {
     echo '錯誤原因:'  . $e->getMessage();
}

如果沒報錯,則為成功

總結(jié)

成功則初級環(huán)境搭建就ok了,整個過程搭建要細心,在配置文件的時候多查資料

以上就是Docker搭建LNMP環(huán)境 的詳細內(nèi)容,更多關(guān)于Docker搭建LNMP環(huán)境的資料請關(guān)注腳本之家其它相關(guān)文章!

標(biāo)簽:湖北 山南 賀州 湘潭 懷化 煙臺 黃山 通遼

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Docker如何快速搭建LNMP環(huán)境(最新)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266