使用Docker搭建LNMP開發環境

2022-06-18 20:00:14 字數 2957 閱讀 1626

1、什麼是docker

docker 使用 google 公司推出的 go 語言 進行開發實現,基於 linux 核心的 cgroup,namespace,以及 aufs 類的 union fs 等技術,對程序進行封裝隔離,屬於作業系統層面的虛擬化技術。

通俗來說,

docker的思想來自於貨櫃,貨櫃解決了什麼問題?在一艘大船上,可以把貨物規整的擺放起來。並且各種各樣的貨物被貨櫃標準化了,貨櫃和貨櫃之間不會互相影響。那麼我就不需要專門運送水果的船和專門運送化學品的船了。只要這些貨物在貨櫃裡封裝的好好的,那我就可以用一艘大船把他們都運走。

docker就是類似的理念。

2、使用docker的好處

在伺服器環境中,由於現在的物理伺服器的配置都是較為強大的,如果用物理伺服器配置只跑乙個小服務是非常浪費的,而跑多個服務,又會導致相互影響,導致安全等風險增加,故需要乙個個的容器,把每乙個服務隔離開來,讓它們只使用自己那部分有限的資源以及自己依賴的軟體包。在docker出現之前,是靠虛擬機器來實現的,但是每個虛擬機器都要裝自己的作業系統核心,這是對資源有點浪費。於是就有了docker, 乙個機器上可以裝十幾個到幾十個docker,他們共享作業系統核心,占用資源少,啟動速度快。

在開發環境中也帶來了很多的方便,比如開發環境和生產環境的差異,依賴關係的管理等都變得簡單了不少。

3、搭建流程

docker的安裝請參閱官網,本機環境方面,給自己的筆記本和台式都安裝了,系統分別是 ubuntu 16.04 和 windows10

1、mysql的安裝與配置

1. 拉取映象

docker pull mysql:5.7

完成後可以使用 docker images 檢視拉取得映象

2. 執行映象來建立容器

docker run -d -p 3306:3306 -e mysql_root_password=123456 --name db_mysql mysql:5.6
-d  讓容器在後台執行 

-p  新增主機到容器的埠對映 

-e  設定環境變數,這裡是設定mysql的root使用者的初始密碼

–name 容器的名字

建立成功後可以使用 docker ps 檢視執行中的容器。

3. 相關配置

docker exec -ti db_mysql /bin/bash
-t 在容器裡生產乙個偽終端 

-i 對容器內的標準輸入 (stdin) 進行互動

進入到mysql容器後,可以對mysql建立乙個可以遠端訪問的使用者,然後就可以遠端訪問了。

2、php-fpm的安裝與配置

1.拉取映象

docker pull php:7.0-fpm
2.建立容器

#ubuntu

docker run -d -v /home/zoujiejun/workspace/www:/var/html/www -p 9000:9000 --link db_mysql:mysql --name php70_fpm

#windows

docker run -d -v /workspace:/var/html/www -p 9000:9000 --link db_mysql:mysql --name php70_fpm

-v 新增目錄對映,即主機上的/var/nginx/www/html和容器中/var/www/html目錄是同步的 

–link 與另外乙個容器建立起聯絡,這樣我們就可以在當前容器中去使用另乙個容器裡的服務。(如上述命令可以使用 mysql 來訪問前面mysql容器)

如果是在windows系統,且是用virtualbox的安裝方式,還需要在virtualbox的虛擬機器設定中把共享資料夾的路徑修改一下,從這裡可以看出來,windows執行的是乙個假docker- -就是乙個linux虛擬機器然後再跑docker。

3.配置

進入容器後,安裝乙個擴充套件。

docker-php-ext-install pdo-mysql
安裝完成後使用 php -m 檢視所有擴充套件。成功以後來搞nginx。

3、nginx的安裝與配置

1.拉取映象

docker pull nginx:1.12
2.建立容器

#ubuntu

docker run -d -v /home/zoujiejun/workspace/www:/var/html/www -p 80:80--link php70_fpm:phpfpm--name z_nginx nginx:1.12

#windows

docker run -d -v /workspace:/var/html/www -p 80:80 --link php70_fpm:phpfpm --name z_nginx nginx:1.12

3.配置

由於nginx配置要打字比較多,先裝乙個vim把。

4、測試

<?php 

try value:";

}} catch (pdoexception $e

)

執行結果:

docker 搭建 lnmp 環境

這幾天學了 docker 又用 docker 搭建了自己的環境。這中間遇到了很多坑,為此特意寫此博文,供你們搭建環境的時候借鑑。本篇本章預設你有 docker 的基本知識 本篇用到的環境 實踐 搭建 dockerfile 首先我們編寫我們的 dockerfile mysql from mysql 5...

docker 搭建 lnmp 實踐

centos7 下 docker 的安裝 persistent data lvm2 sudo yum config manager add repo sudo yum install docker ce y專案介紹 docker 環境搭建相關 git clone 操作命令 安裝庫依賴 docker ...

Docker搭建LNMP環境

關於什麼是docker,建議大家先上網查查有關的用法。如果您不了解,在這篇文章中,您可以簡單的理解為他是乙個輕量級的虛擬機器。一 docker安裝mysql 首先,我們從倉庫拉取乙個mysql的映象 docker pull mysql 5.6然後我們可以通過命令 docker images 檢視我們...