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-fpm2.建立容器
#ubuntu-v 新增目錄對映,即主機上的/var/nginx/www/html和容器中/var/www/html目錄是同步的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
–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.122.建立容器
#ubuntu3.配置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
由於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 檢視我們...