日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Docker - 搭建LNMP环境 - 学习/实践

發(fā)布時間:2023/12/14 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker - 搭建LNMP环境 - 学习/实践 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.應(yīng)用場景

主要用于學(xué)習(xí)使用docker搭建開發(fā)環(huán)境. 學(xué)習(xí)容器化技術(shù).

以及快速搭建開發(fā)環(huán)境, 同時保持團隊之間開發(fā)/測試環(huán)境相同~~~~

2.學(xué)習(xí)/操作

1.文檔閱讀

Docker - 學(xué)習(xí)/實踐_穿素白衫的少年的博客-CSDN博客?// 所需文檔

Docker 入門教程 - 阮一峰的網(wǎng)絡(luò)日志?//? 再放一次, 推薦閱讀~~~

Docker 微服務(wù)教程 - 阮一峰的網(wǎng)絡(luò)日志?// Docker - 微服務(wù)教程

避坑!用Docker搞定PHP開發(fā)環(huán)境搭建?//?避坑!用Docker搞定PHP開發(fā)環(huán)境搭建? -- 20210424 周六 公寓

docker搭建環(huán)境(php+nginx+mysql)_-client的博客-CSDN博客?//?docker搭建環(huán)境(php+nginx+mysql)

插入:其他人發(fā)布的搭建lnmp的鏡像與GitHub項目

Docker Hub

Docker Hub

GitHub - thinksvip/lnmp: LNMP docker production environment

單獨安裝Nginx,PHP, MySQL

MySQL 8.0 - 安裝[含Docker安裝] - Win10/Mac_穿素白衫的少年的博客-CSDN博客

MySQL 8.0 - Docker安裝 - Win10 - 學(xué)習(xí)/實踐_穿素白衫的少年的博客-CSDN博客

Docker - Windows下安裝Nginx - 學(xué)習(xí)/實踐_穿素白衫的少年的博客-CSDN博客

Docker - PHP - 如何使用php image - 學(xué)習(xí)/實踐_穿素白衫的少年的博客-CSDN博客

待做:

將下面也打包成docker image發(fā)布到docker hub

2.整理輸出

這里主要整合上面幾個文檔可取之處, 整理出個人認(rèn)為比較好【比較適合自己】的方式~~

2.1 LNMP拆分為多個容器, 單獨運行.

如拆分為:? Nginx, PHP, MySQL三個容器

這里根據(jù)各個容器的鏈接方式,分為兩種方式: link 與 network

環(huán)境:

MacOS

方式一: link方式

項目地址:https://gitee.com/william_ning/docker-lnmp-development-env?// 可對照參考

1. 先拉取鏡像

nginx

php-pfm

mysql

redis

任意目錄下 // 但建議選擇一個目錄作為工作目錄, 這里選擇,并新建Workspace,?/Users/williamning/Workspace作為工作目錄

cd?/Users/williamning/Workspace // 進入工作目錄下

docker pull nginx:latest

docker pull php:7.4-fpm

docker pull mysql:8.0

docker pull redis:latest

Note:

williamning是本人的用戶名,換成自己的即可

而且工作目錄可任選,不論是mac還是Windows

版本信息如上或者如下,可選擇自己想要的

nginx:latest --->?1.19.10

redis:latest --->?6.2.3

2. 配置準(zhǔn)備工作【是為了后面便于修改配置, 而不用反反復(fù)復(fù)進入容器中】

nginx

mkdir etc

docker run --name tmp-nginx -d nginx // 臨時容器
docker cp tmp-nginx:/etc/nginx $PWD/etc/nginx // 拷貝容器文件到本機制定目錄下
docker rm -f tmp-nginx // 拷貝完成,刪除容器

插入:

如果只要nginx容器,執(zhí)行如下命令即可, 將相關(guān)資源放到/Users/williamning/Workspace/www下即可,瀏覽器輸入:localhost就已經(jīng)可以訪問資源了

docker run --name run-nginx -d -p 80:80 -v $PWD/www:/usr/share/nginx/html:ro nginx

docker rm -f run-nginx

php-fpm

docker run --name tmp-php-fpm -d php:7.4-fpm
docker cp tmp-php-fpm:/usr/local/etc $PWD/etc/php
docker rm -f tmp-php-fpm

配置php-fpm與nginx配合工作

編輯文件?etc/nginx/conf.d/default.conf

加入如下部分:

location ~ \.php$ {
? ? fastcgi_pass ? run-php-74-fpm:9000;
? ? fastcgi_index ?index.php;
? ? fastcgi_param ?SCRIPT_FILENAME ?/var/www/html$fastcgi_script_name;
? ? include ? ? ? ?fastcgi_params;
}

3. 實例化容器

順序:[因為前后有依賴【link】關(guān)系]

mysql-->redis-->php-fpm-->nginx

mysql

mkdir mysql && cd mysql
mkdir conf && mkdir logs && mkdir data

docker run \
?? ?--name run-mysql-80 \
?? ?-p 33060:3306 \
?? ?-e MYSQL_ROOT_PASSWORD=root \
?? ?-v $PWD/conf:/etc/mysql/conf.d \
?? ?-v $PWD/logs:/logs \
?? ?-v $PWD/data:/var/lib/mysql \
?? ?-d mysql:8.0

cd ..? // 回到工作目錄

Note:

這里使用33060端口,因3306端口已為其他容器使用~~

redis

docker run \
?? ?--name run-redis-latest \
?? ?-p 6379:6379 \
?? ?-d redis:latest

php-fpm

docker run \
? ? --name run-php-74-fpm \
? ? -v $PWD/www:/var/www/html \
? ? -v $PWD/etc/php:/usr/local/etc \
? ? -v $PWD/log/php:/var/log/php \
? ? -d php:7.4-fpm

nginx

docker run \
? ? --name run-nginx-latest \
? ? -p 8080:80 \
? ? -v $PWD/www:/usr/share/nginx/html \
? ? -v $PWD/etc/nginx:/etc/nginx \
? ? -v $PWD/log/nginx:/var/log/nginx \
? ? --link run-php-74-fpm:php-fpm-container \
? ? --link run-redis-latest:redis \
? ? --link run-mysql-80:mysql \
? ? -d nginx:latest

Note:

A. 這里使用8080端口,因80端口已為其他容器使用~~

B. 容器已經(jīng)全部實例化,如下

C. 此時,各個容器均能單獨工作, 尚不能完全協(xié)作

D. mysql/redis均能通過可視化工具正常連接

E. windows下, 簡要截圖如下, 注意,如果從上面直接拷貝命令執(zhí)行, 換行的地方可能會出現(xiàn)編碼異常的問題, 需要手動處理下空格,換行

4. 安裝php擴展

因這里要使用pdo-mysql,redis擴展去連接mysql, redis server, 但php-fpm官方鏡像并沒有默認(rèn)安裝, 需要自行安裝

進入php-fpm容器

docker exec -it e3c79200f9ef76d231e5df2d55533969bfe4b0ffd02aa4813e69a1043e8e30fa /bin/sh

安裝 pdo-mysql

在/Users/williamning/Workspace/etc/php/php/conf.d【即容器中的/usr/local/etc/php/conf.d】下新建docker-php-ext-pdo_mysql.ini文件,

文件內(nèi)容:

extension=pdo_mysql.so

執(zhí)行安裝命令:

docker-php-ext-install pdo_mysql

通過命令確認(rèn)

php -m 或者 php -r 'phpinfo();' | grep pdo_mysql

安裝redis

pecl install redis-5.3.4 && docker-php-ext-enable redis

如果出現(xiàn)

enable igbinary serializer support? [no] :? ?

輸入:yes, 后面又出現(xiàn)兩個提示, 同樣輸入yes,結(jié)果出現(xiàn)報錯,原因:TBD

詳情參考:

enable igbinary serializer support? · Issue #1196 · phpredis/phpredis · GitHub

這里先統(tǒng)一設(shè)置為no,重新安裝

pecl install -n redis-5.3.4 && docker-php-ext-enable redis

同理新建

/Users/williamning/Workspace/etc/php/php/conf.d/docker-php-ext-redis.ini

內(nèi)容:

extension=redis.so

通過命令確認(rèn)

php -m 或者 php -r 'phpinfo();' | grep redis

然后,重啟php-fpm容器

否則,在后面測試mysql/redis會分別提示,沒有driver,沒有Redis class

5. 開始測試lnmp服務(wù)

web根目錄下新建文件列表如下:

測試html資源訪問

測試php腳本

測試phpinfo

測試PDO連接mysql

測試連接redis

目前看來,一切正常~~

優(yōu)化:

建議使用shell腳本去盡量自動化處理~~

方式二: network方式

項目代碼:

https://gitee.com/william_ning/docker-lnmp-pickup

運行后的目錄結(jié)構(gòu):?https://gitee.com/william_ning/docker-lnmp-dev-env-sh

同時結(jié)合docker-compose進行優(yōu)化,同時開啟/關(guān)閉/移除容器

步驟:

1. 克隆項目到工作目錄【任一目錄即可】

2. 執(zhí)行shell腳本

./lnmp-preprare.sh

3. 一鍵式啟動容器

docker-compose up -d

4. 繼續(xù)執(zhí)行啟動容器后的安裝php擴展

執(zhí)行命令, ./lnmp-after-up-containers.sh

5. 瀏覽器中分別開窗口訪問如下地址:

localhost:8080

localhost:8080/index.php

localhost:8080/phpinfo.php

localhost:8080/pdo.php

localhost:8080/redis.php

不出意外,一切正常~~ 到此Over~

6. 不使用時,移除即可

docker-compose dowm

推薦使用命令 // 因為 Docker Compose is now in the Docker CLI, try `docker compose up

docker compose up -d

docker compose down

----------------------------------------------------------------分割線----------------------------------------------------------------

踩坑與過程簡要記錄:

添加執(zhí)行權(quán)限

2.jenkins構(gòu)建過程中添加docker容器判斷是否啟動的功能 - 簡書?//?jenkins構(gòu)建過程中添加docker容器判斷是否啟動的功能

Shell 教程 | 菜鳥教程?//?Shell 教程

【Linux】grep 匹配多個關(guān)鍵字_媛測的博客-CSDN博客_grep或的多個匹配項?//?【Linux】grep 匹配多個關(guān)鍵字

用sed、awk、grep同時匹配多個條件(與模式、或模式) - 陌上歸人的博客 - 博客園?//?用sed、awk、grep同時匹配多個條件(與模式、或模式)

grep無法查找shell傳過來的變量?先注意一下文本格式吧! - 云+社區(qū) - 騰訊云?//?grep無法查找shell傳過來的變量?先注意一下文本格式吧!

踩坑截圖

解決完:正常

執(zhí)行docker-compose up -d

一直報錯,如下 // 簡單說,就是Version的使用姿勢不對

ERROR: Version in "./docker-compose.yml" is invalid. You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/

----------------------------------------------------------------分割線----------------------------------------------------------------

2.2?同一個容器中, 搭建LNMP環(huán)境

TBD

優(yōu)化:TBD

http://www.dockerinfo.net/docker-compose-項目?// 一個項目一個容器,這種方式個人認(rèn)為更好~

3. 思考

TBD

后續(xù)補充

...

3.問題/補充

1.?如何在php7.2/php7.3中安裝mcrypt擴展?

如何在php7.2/php7.3中安裝mcrypt擴展?-php教程-PHP中文網(wǎng)

2. 如何安裝pdo_mysql擴展?

docker-php-ext-install pdo pdo_mysql
出現(xiàn)報錯,導(dǎo)致一直安裝不成功

解決方案:
在/usr/local/etc/php目錄下面新建 conf.d
也可以把 docker-php-ext-pdo_mysql.ini 文件也創(chuàng)建了,文件內(nèi)容:

extension=pdo_mysql.so

修改完重復(fù)執(zhí)行安裝命令

3. 使用PDO去測試連接mysql容器服務(wù),一直報錯

SQLSTATE[HY000] [2002] No such file or directory

搜索了一些問答, 結(jié)果全是關(guān)于apache相關(guān)的問題, 而且多是使用laravel數(shù)據(jù)庫出現(xiàn)的錯誤

php - PDOException SQLSTATE[HY000] [2002] No such file or directory - Stack Overflow?//?PDOException SQLSTATE[HY000] [2002] No such file or directory

結(jié)論就是設(shè)置, mysql的socket,php.ini中的pdo_mysql.default_socket=/tpm/mysql.sock 或者?pdo_mysql.default_socket=/var/run/mysqld/mysqld.sock

以上操作,

但均沒有效果, 而且冷靜下來,想了下連接mysql server的方式, 目前為止, 個人沒有用過socket方式, 至于怎么用TBD

都是使用IP+port方式進行連接, 才想明白, 可能是IP不對, 不能使用lcoalhost或者127.0.0.1本機IP,而應(yīng)該使用容器分配的私有IP

查看容器IP方式

docker inspect 容器ID?

找到IPAddress即可

-- 補充

舊截圖

修改IP,如上

瀏覽器中訪問測試地址

終于訪問成功~~

思考

網(wǎng)上資料質(zhì)量參差不齊,加上個人相關(guān)知識【基礎(chǔ)知識】薄弱, 如果找不到權(quán)威的資料去查看,學(xué)習(xí),實踐,就會花費比較多的時間去弄這件事, 而且花的時間太多卻一直得不到想要的結(jié)果, 本身就是一個負(fù)反饋的過程,?不利于繼續(xù)學(xué)習(xí), 深入。

個人思考后,建議應(yīng)該多學(xué)習(xí)基礎(chǔ)知識,而且在遇到問題時, 盡量去查找相關(guān)權(quán)威資料, 不要上來就百度,而應(yīng)該先花費至少五分鐘思考下,最好寫下來, 哪里會有這方面的權(quán)威資料, 或者請求比較權(quán)威的幫助,比如自己的技術(shù)Leader,或者有可通訊的技術(shù)大佬【不過可能回復(fù)不及時】,?

然后再去實踐,同時在這個過程中,要不斷思考, 盡量結(jié)合以往的知識,經(jīng)驗去推敲,思考驗證,從步步逼近真實情況。如果能將這個過程循環(huán)往復(fù),技能, 知識技能必會有所進益,這才是一個做技術(shù)人應(yīng)該有的態(tài)度和習(xí)慣

當(dāng)然更重要的是,可以節(jié)省更多時間去做更多有意義感興趣的事情~

至于redis,使用localhost時出現(xiàn)報錯,已經(jīng)想到了,是相同的原因

解決辦法,使用容器的IP即可

Fatal error: Uncaught RedisException: Connection refused in /var/www/html/redis.php:4 Stack trace: #0 /var/www/html/redis.php(4): Redis->connect('127.0.0.1', 6379) #1 {main} thrown in?/var/www/html/redis.php?on line?4

4. 查看容器所有的IP

docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

可以看到容器的IP是后先后順序的,都是172.17.0.x ....

Note

容器的IP是會變化的,要確認(rèn)清楚,否則會連接失敗!

解決辦法

固定容器IP,具體參考:

https://sleele.com/2020/04/26/docker-compose固定容器ip寫法/?// docker-compose固定容器IP寫法

Docker 容器固定 IP - Yogile - 博客園. // Docker 容器固定 IP

5. 容器環(huán)境下,在物理機中執(zhí)行數(shù)據(jù)庫遷移命令,報如下錯,分析報錯信息,可初步判斷是連接被拒絕,

應(yīng)該是連接配置信息不正確導(dǎo)致的。

? ?laravel7.test git:(master) ? php72 artisan migrate

? ?Illuminate\Database\QueryException?

? SQLSTATE[HY000] [2002] Connection refused (SQL: select * from information_schema.tables where table_schema = laravel7.test and table_name = migrations and table_type = 'BASE TABLE')

? at vendor/laravel/framework/src/Illuminate/Database/Connection.php:671
? ? 667| ? ? ? ? // If an exception occurs when attempting to run a query, we'll format the error
? ? 668| ? ? ? ? // message to include the bindings with SQL, which will make this exception a
? ? 669| ? ? ? ? // lot more helpful to the developer instead of just the database's errors.
? ? 670| ? ? ? ? catch (Exception $e) {
? > 671| ? ? ? ? ? ? throw new QueryException(
? ? 672| ? ? ? ? ? ? ? ? $query, $this->prepareBindings($bindings), $e
? ? 673| ? ? ? ? ? ? );
? ? 674| ? ? ? ? }
? ? 675|?

? ? ? +36 vendor frames?
? 37 ?artisan:37
? ? ? Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))

這里是因為項目代碼中使用的DB_HOST使用的是容器IP「僅僅是用于容器之間的通信」,但是在物理機環(huán)境下,是識別不到該地址的。

所以,解決辦法:

進入到php-fpm容器中,執(zhí)行遷移命令

到容器中執(zhí)行命令,依然失敗,說明配置還是有問題

最后發(fā)現(xiàn)你是容器的IP發(fā)生變化,修改為爭取的IP即可 -- 上面的方式,存在一個問題:IP在重啟容器的時候,可能會發(fā)生變化,這就導(dǎo)致,需要重新配置DB,Redis 的IP? --- 解決辦法:TBD

優(yōu)化:

更好的解決辦法TBD

6. Nginx 和 PHP-FPM容器中執(zhí)行PS命令提示命令不存在

原因:該nginx等鏡像沒有打包ps命令

使用如下命令安裝

apt-get update && apt-get install procps

再執(zhí)行PS命令如下:

PHP-FPM

Nginx

7.?docker修改redis配置文件

推薦還是像mysql,nginx,php-fpm那樣將redis的配置文件掛載到外部文件系統(tǒng)

單獨實例化 redis容器:

sudo docker run -p 6379:6379 \

--name redis -v /data/redis/redis.conf:/etc/redis/redis.conf \

-v /data/redis/data:/data \

-d redis redis-server /etc/redis/redis.conf \

--appendonly yes

docker修改redis配置文件_城北碼農(nóng)的博客-CSDN博客_docker修改redis配置文件

目前先基于當(dāng)前的環(huán)境,進入容器進行下修改:

找到redis的安裝路徑,以及配置

root@9e80a893b099:/usr/local/bin# ls

docker-entrypoint.sh? gosu? redis-benchmark? redis-check-aof? redis-check-rdb? redis-cli? redis-sentinel? redis-server

root@9e80a893b099:/usr/local/bin# pwd

/usr/local/bin

root@9e80a893b099:/usr/local/bin#

但是沒有找到redis的配置文件

Docker Hub

根據(jù)docker官方redis鏡像文檔說明,可以知道,如果實例化redis容器時,沒有指定redis.conf

則容器并沒有redis.conf文件,那么現(xiàn)在的解決方案有兩種:

1. 手動下載一個redis.conf文件,并且重啟redis容器并加載redis.conf配置文件

2. 重新實例化一個redis容器。

redis.conf文件下載地址

Redis configuration | Redis

這里是6.2.4

https://raw.githubusercontent.com/redis/redis/6.2/redis.conf

終端curl下載

或者

瀏覽器打開,然后全選復(fù)制

這里先采用方式一:「不推薦,這里只是作為臨時方案」
ssh到遠程服務(wù)器,進入redis容器中,

進入指定目錄下,創(chuàng)建redis.conf

復(fù)制之前redis.conf內(nèi)容到該文件中「走網(wǎng)絡(luò)傳輸」

記得配置

requirepass your-password

/usr/local/etc/redis/redis.conf

Note:

docker容器中「當(dāng)然要根據(jù)自己操作系統(tǒng)來定,不過可以多試試」

安裝vim:

apt-get update?&& apt-get install vim

安裝ps命令:apt-get update && apt-get install procps

在容器中啟動redis服務(wù)

?可以看到啟動./redis-server出現(xiàn)警告和報錯,因為:

1. 「警告」沒有指定配置文件

2. 「報錯」端口已經(jīng)占用「因為redis服務(wù)已經(jīng)有一個啟動,使用的正是6379端口」

解決辦法:

關(guān)掉已經(jīng)啟動的redis服務(wù),同時指定我們剛添加/修改的redis配置文件

查看redis進程

root@9e80a893b099:/usr/local/bin# ps aux |grep redis

redis? ? ? ? ? 1? 0.1? 0.3? 52968 12632 ?? ? ? ? Ssl? 03:18 ? 0:06 redis-server *:6379

root? ? ? ? 1066? 0.0? 0.0 ? 3084 ? 892 pts/3? ? S+ ? 05:03 ? 0:00 grep redis

root@9e80a893b099:/usr/local/bin#

「上面的數(shù)字并不是PID,導(dǎo)致kill失敗」

root@9e80a893b099:/usr/local/bin# ps -ef? ? ? ? ? ?

UID? ? ? ? ? PID? ? PPID? C STIME TTY? ? ? ? ? TIME CMD

redis? ? ? ? ? 1 ? ? ? 0? 0 03:18 ?? ? ? ? 00:00:07 redis-server *:6379

root? ? ? ? ? 19 ? ? ? 0? 0 03:20 pts/0? ? 00:00:00 bash

root? ? ? ? ? 41 ? ? ? 0? 0 03:43 pts/1? ? 00:00:00 bash

root? ? ? ? ? 89 ? ? ? 0? 0 04:29 pts/2? ? 00:00:00 bash

root ? ? ? ? 480 ? ? ? 0? 0 04:48 pts/3? ? 00:00:00 bash

root? ? ? ? 1081 ? ? 480? 0 05:07 pts/3? ? 00:00:00 ps -ef

root@9e80a893b099:/usr/local/bin# ps -ef | grep redis

redis? ? ? ? ? 1 ? ? ? 0? 0 03:18 ?? ? ? ? 00:00:07 redis-server *:6379

root? ? ? ? 1083 ? ? 480? 0 05:07 pts/3? ? 00:00:00 grep redis

root@9e80a893b099:/usr/local/bin# kill 1

root@9e80a893b099:/usr/local/bin# [root@MrNing ~]#

雖然成功了,但是不好意思,直接退出docker容器「容器應(yīng)該是被關(guān)閉了,畢竟PID=1的進程是祖宗進程」

然后重新進入redis容器,回到了上面的問題「應(yīng)是redis容器配置自動重啟服務(wù)」。

如果換個端口,則沒問題

重新開個終端,進入redis容器,連接6380端口的redis實例

斷開ssh連接后,重新連接后,發(fā)現(xiàn)依然有兩個redis服務(wù),

「不過,在重啟redis 容器后,應(yīng)該就只會剩下一個,就是6379端口的redis服務(wù)」

kill 6380端口的redis server,并沒有退出redis容器。

重啟redis容器,然后進入redis容器中,如下

?

說明與學(xué)習(xí):

1. 因為服務(wù)器并沒有暴露6380端口,以及映射端口到容器‘

2. 說明redis docker容器也可以同時實例化多個redis服務(wù)「容器本質(zhì)上也是提供了一個環(huán)境,即容器,內(nèi)部還是通過軟件的形式發(fā)揮作用」。

方式一目前失敗了「或者說暫時不再深入下去」

只能采用方式二進行解決了

修改docker-compose.yml文件中redis的配置

TBD

4.參考

Docker - 學(xué)習(xí)/實踐_穿素白衫的少年的博客-CSDN博客?// 所需文檔

Docker 入門教程 - 阮一峰的網(wǎng)絡(luò)日志?//? 再放一次, 推薦閱讀~~~

避坑!用Docker搞定PHP開發(fā)環(huán)境搭建?//?避坑!用Docker搞定PHP開發(fā)環(huán)境搭建? -- 20210424 周六 公寓

https://sleele.com/2020/04/26/docker-compose固定容器ip寫法/?// docker-compose固定容器IP寫法

Docker 容器固定 IP - Yogile - 博客園. // Docker 容器固定 IP

后續(xù)補充

...

總結(jié)

以上是生活随笔為你收集整理的Docker - 搭建LNMP环境 - 学习/实践的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。