Docker如何快速搭建LNMP環(huán)境(最新)
提示:這里可以添加本文要記錄的大概內(nèi)容:例如:隨著人工智能的不斷發(fā)展,機(jī)器學(xué)習(xí)這門(mén)技術(shù)也越來(lái)越重要,很多人都開(kāi)啟了學(xué)習(xí)機(jī)器學(xué)習(xí),本文就介紹了機(jī)器學(xué)習(xí)的基礎(chǔ)內(nèi)容。
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考
一、Mysql?1.拉取mysql鏡像docker pull mysql:5.6
docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=xy123456 --name xy_mysql mysql:5.6
參數(shù)說(shuō)明:-d 讓容器在后臺(tái)運(yùn)動(dòng)-p 添加主機(jī)到容器的端口映射-e 設(shè)置mysql環(huán)境變量,設(shè)置root的初始密碼?name 給容器取名字最后一個(gè)參數(shù)是鏡像名稱(chēng),為拉取鏡像的名稱(chēng)
二、安裝php-fpm1.拉取php-fpm鏡像docker pull php:7.0-fpm
也可拉docker pull php:7.4.20-fpm docker pull php:7.3.28-fpm 這些版本在倉(cāng)庫(kù)里都是存在,放心拉
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ù)說(shuō)明:-d 讓容器在后臺(tái)運(yùn)動(dòng)-p 添加主機(jī)到容器的端口映射-v 添加目錄映射,主機(jī)上的D:/docker/nginx映射到/var/www/html ,即同步目錄下內(nèi)容.’D:/docker/nginx’這個(gè)主機(jī)下的目錄你直接復(fù)制你想要寫(xiě)代碼的目錄即可,$PWD如果有效的話(huà)是指當(dāng)前目錄,我是因?yàn)槭褂么藚?shù)報(bào)錯(cuò),所以直接復(fù)制粘貼了路徑.?name 給容器取名字?link 與另外一個(gè)容器建立聯(lián)系,這樣可以在當(dāng)前容器去使用另一個(gè)容器的服務(wù)最后一個(gè)參數(shù)是鏡像名稱(chēng),為拉取鏡像的名稱(chēng)
3.進(jìn)入php-fpm容器docker exec -it xy_phpfpm bash
參數(shù)說(shuō)明-t 在容器里生產(chǎn)一個(gè)偽終端-i 對(duì)容器內(nèi)的標(biāo)準(zhǔn)輸入 (STDIN) 進(jìn)行交互
在/var/www/html/下創(chuàng)建一個(gè)index.php文件后,你會(huì)發(fā)現(xiàn)本地也會(huì)有,這就同步了,因?yàn)閱?dòng)容器時(shí)已經(jīng)把主機(jī)和容器相應(yīng)的目錄進(jìn)行映射了;
因之后要使用pdo模塊進(jìn)行測(cè)試,所以安裝pdo_mysql模塊.
docker-php-ext-install pdo_mysql
php -m 打印查看是否安裝成功;
這樣安裝之后在phpinfo()打印后不一定會(huì)顯示擴(kuò)展,之后測(cè)試會(huì)有修改的步驟
三、安裝nginx1.拉取nginx鏡像docker pull nginx:1.10.32.運(yùn)行nginx容器
docker run -d -p 80:80 -v D:/docker/nginx:/var/www/html --link xy_phpfpm:phpfpm --name xy_nginx nginx:1.10.33.進(jìn)入nginx容器,修改nginx配置文件讓他支持php
docker exec -it xy_nginx bash
這里推薦去 /etc/nginx/conf.d/default.conf下去更改;fastcgi_pass 寫(xiě)php:7.0-fpm:9000 別寫(xiě)起的別名可能會(huì)失效;root寫(xiě)成之前php容器設(shè)置的代碼目錄;
4.測(cè)試安裝是否成功修改index.php代碼
<?phpphpinfo();
這個(gè)在使用之前安裝的命令之后phpinfo()并沒(méi)有mysql,需要進(jìn)入php.ini中去更改
5.修改配置docker exec -it xy_phpfpm bash
這個(gè)容器中php.ini 在/usr/local/etc/php下 php.ini-development php.ini-production這兩個(gè)文件就是php.ini 文件是一模一樣 看名字就知道什么意思了把extension=php_pdo_mysql.dll擴(kuò)展放開(kāi)就可以
6.鏈接mysql測(cè)試修改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 ’錯(cuò)誤原因:’ . $e->getMessage();}
如果沒(méi)報(bào)錯(cuò),則為成功
總結(jié)成功則初級(jí)環(huán)境搭建就ok了,整個(gè)過(guò)程搭建要細(xì)心,在配置文件的時(shí)候多查資料
以上就是Docker搭建LNMP環(huán)境 的詳細(xì)內(nèi)容,更多關(guān)于Docker搭建LNMP環(huán)境的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. jsp+servlet簡(jiǎn)單實(shí)現(xiàn)上傳文件功能(保存目錄改進(jìn))2. Python 實(shí)現(xiàn)勞拉游戲的實(shí)例代碼(四連環(huán)、重力四子棋)3. 一款功能強(qiáng)大的markdown編輯器tui.editor使用示例詳解4. java獲取文件編碼,jsoup獲取html純文本操作5. .Net加密神器Eazfuscator.NET?2023.2?最新版使用教程6. 利用CSS制作3D動(dòng)畫(huà)7. python 寫(xiě)函數(shù)在一定條件下需要調(diào)用自身時(shí)的寫(xiě)法說(shuō)明8. 淺談Android Studio導(dǎo)出javadoc文檔操作及問(wèn)題的解決9. Java GZip 基于內(nèi)存實(shí)現(xiàn)壓縮和解壓的方法10. 存儲(chǔ)于xml中需要的HTML轉(zhuǎn)義代碼
