Ubuntu 搭建基於Docker的LNMP+Redis的開發環境
伺服器環境:Ubuntu 14.04
1.安裝Docker
1.1 執行update命令,和伺服器同步軟體包,執行apt-get install * 時可以下載最新的軟體。
1.2 安裝Docker和建立軟連結
1.3 啟用Docker服務
2. 擷取搭建環境所需鏡像
2.1 MySQL鏡像
2.2 Redis鏡像
2.3 nginx-php-fpm鏡像
2.4 查看已下載的鏡像
對於Docker初學者來說,可以使用現有鏡像,目前下載鏡像的渠道主要有docker官方的公有倉庫Docker Hub(https://hub.docker.com)和國內的DaoCloud(https://dashboard.daocloud.io), 兩者區別是國外的資源較多,但是下載速度極慢,國內的資源較少,但是下載速度很快。當然,能力比較好的技術人員,可以自己搭建所需鏡像,並且可以上傳到以上兩個網站共用出來。
3.使用鏡像產生對應容器
3.1 產生MySQL容器
3.1.1 --name為容器名稱,mysql_test為自訂名稱;
3.1.2 -p 暴露連接埠,映射連接埠(可以映射多個連接埠),外部連接埠 : 容器內部連接埠;
3.1.3 -e 設定任意環境變數(容器內)
MYSQL_ROOT_PASSWORD=root 這裡指設定資料庫密碼為root;
3.1.4 mysql:5.6 鏡像名稱:版本
3.2 產生Redis容器
3.2.1 -p6379:6379 映射連接埠,即外部連接埠:容器內連接埠
3.2.2 redis 鏡像版本
3.3 產生nginx-php-fpm容器
3.3.1 --namelnmp_test 為容器名稱;
3.3.2 -p 暴露連接埠,映射連接埠(可以映射多個連接埠) 外部連接埠:容器內部連接埠;
-p 88:80 外部連接埠88:容器內部連接埠80;
3.3.3 -d:後台模式運行,如果沒有則以前台運行(當前進程關閉後,當前容器自動關閉)
3.3.4 richarvey/nginx-php-fpm 當前鏡像名稱:版本
3.3.5 --link:容器內部通訊 容器名稱:內部別名(內部使用)
--link mysql:db 使用時,直接使用db 就可以訪問到資料庫mysql容器
php 訪問本地mysql 使用的是localhost,容器內部即可使用 db
3.3.6 -v:卷,外部目錄虛擬到容器內目錄 外部目錄:容器內目錄
-v /home/lanmps/www:/www/wwwroot
/home/lanmps/www外部目錄,我的項目目錄
/www/wwwroot容器內部目錄
3.4. 查看已經產生的容器並啟動容器
可能遇上的問題:
1.鏡像下載緩慢或者失敗,如圖:
主要原因:資源已取消、網速慢;
解決辦法:優先尋找國內鏡像資源,擷取鏡像失敗重新尋找資源或者自己做所需鏡像資源;
1.修改掛載目錄檔案,不能同步到容器環境;
原因:容器中的nginx設定檔中的網站目錄路徑跟我掛載的路徑不一致;
解決辦法:進入容器環境,修改nginx設定檔。
測試是否搭建成功:
已經能成功訪問到搭建的環境,資料庫也能成功串連。
感謝閱讀,希望能協助到大家,謝謝大家對本站的支援!