docker中的lamp是什么

docker中,LAMP是指linux(操作系統)、apache http服務器、mysqlmariadb數據庫軟件)和phpperlpython)的組合方案,一般用來建立Web服務器環境。

docker中的lamp是什么

本教程操作環境:linux5.9.8系統、docker-1.13.1版、Dell G3電腦。

LAMP指的Linux(操作系統)、Apache HTTP服務器、MySQL(有時也指MariaDB,數據庫軟件)和PHP(有時也是指Perl或Python)的組合方案,一般很適合用來建立Web服務器環境。

下面介紹如何使用Docker來搭建一個包含LAMP組件的容器。

下載LAMP鏡像

搜索Docker Hub上被收藏或使用較多的LAMP鏡像,筆者推薦選擇tutum/lamp鏡像:

#?sudo?docker?search?-s?10?lamp tutum/lamp??????????????Out-of-the-box?LAMP?image?(PHP+MySQL)???????????67?  執行docker?pull命令,下載鏡像: ?#?sudo?docker?pull?tutum/lamp

使用默認方式啟動LAMP容器

利用下載的鏡像啟動一個容器,并映射容器的8080端口和3306端口:

#?sudo?docker?run?-d?-p?8080:80?-p?3306:3306?tutum/lamp #?docker?ps 使用curl命令測試,可以查看到默認的應用已經啟動: #?curl?http://127.0.0.1:8080

部署自己的PHP應用

默認的容器啟動了一個helloword應用。讀者可以基于此鏡像,編輯Dockerfile來創建自定義LAMP應用鏡像。

在宿主主機上創建新的工作目錄lamp:

#?mkdir?lamp #?cd?lamp #?touch?Dockerfile

在php目錄下里面創建Dockerfile文件,內容為:

FROM?tutum/lamp:latest RUN?rm?-fr?/app?&&git?clone?https://github.com/username/customapp.git?/app #這里將https://github.com/username/customapp.git?地址替換為你自己的項目地址 EXPOSE?80?3306CMD?["/run.sh"]

創建鏡像,命名為dockerpool/my-lamp-app:

#?docker?build?-t?dockerpool/my-lamp-app?. 利用新創建鏡像啟動容器,注意啟動時候指定-d參數,讓容器后臺運行: #?docker?run?-d?-p?8080:80?-p?3306:3306?dockerpool/my-lamp-app 在本地主機上使用curl看一下自己的應用程序是不是已經正確啟動: #?curl?http://127.0.0.1:8080/

在PHP程序中連接數據庫

1、在容器中訪問MySQL數據庫

下載的tutum/lamp鏡像中的MySQL數據庫已帶有默認的root用戶,本地連接可以不使用密碼,所以在代碼中訪問數據庫的實現非常簡單:

<?php $mysql = new mysqli("localhost", "root"); echo "MySQL Server info: ".$mysql->host_info; ?&gt;

2、在容器外訪問MySQL數據庫

默認的MySQL數據庫不支持root用戶遠程登錄,因此在容器外無法直接通過root用戶訪問MySQL數據庫。
當第一次使用tutum/lamp鏡像啟動容器的時候,它會自動創建一個叫admin的MySQL用戶,并生成一個隨機密碼,使用docker logs命令可以獲取到這個密碼:

#?sudo?docker?logs?9cb

注意 admin用戶具有root相同的權限。

推薦學習:《docker視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享