LAMP介紹
LAMP 指的 Linux(操作系統)、ApacheHTTP 服務器,MySQL(有時也指MariaDB,數據庫軟件) 和 PHP(有時也是指 Perl 或 Python) 的第一個字母,一般用來建立 web 服務器。 雖然這些開放源代碼程序本身并不是專門設計成同另幾個程序一起工作的,但由于它們的免費和開源,這個組合開始流行(大多數Linux發行版本***了這些軟件)。當一起使用的時候,它們表現的像一個具有活力的解決方案包。
下面介紹如何使用docker來搭建一個包含lamp組件的容器:
從網站上 pull 一個 lamp 鏡像
官方的倉里沒有標 OFFICIAL 的 lamp 的鏡像,不過 「tutum」的鏡像做的非常好,我們可以直接 pull 他們的鏡像來完成我們的操作。
"lang-bash">core@localhost ~/base $ docker pull tutum/lampPulling repository tutum/lampb32789c7d66: Download complete...
使用默認方式啟動 lamp 容器
"lang-bash">core@localhost ~/base $ docker run "hljs-operator">-d -p : -p : tutum/lamp ee00c97a5cdefb985baf826c16723f333aa5edddee4072a5107c724ad09f10dcore@localhost ~/base $ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESee00c97a5 "hljs-built_in">cd tutum/lamp:latest "/run.sh" seconds ago Up seconds 0.0.0.0:->/tcp, 0.0.0.0:->/tcp lonely_davincie3c136d76b44 tutum/tomcat: "hljs-number">8.0 "hljs-string">"/run.sh" minutes ago Up minutes "hljs-number">0.0. "hljs-number">0.0:->/tcp tomcat001fe9e65aaf58c dl.dockerpool.com:/mysql: "hljs-number">5.7 "hljs-string">"/entrypoint.sh mysq 51 minutes ago Up 51 minutes 3306/tcp db001,tomcat001/tomysqlcore@localhost ~/base $ curl http://127.0.0.1:8080
#使用curl可以查看到默認的應用已經啟動
<html><head> <title>Hello world!</title> <style> body { background-color: white; text-align: center; padding: 50px; font-family: "Open Sans "hljs-string">","Helvetica Neue "hljs-string">",Helvetica,Arial,sans-serif; } #logo { margin-bottom: 40px; } </style></head><body> <img id="logo "hljs-string">" src="/jshtml/uploads/allimg/170314/06264H430-0.png" /> <h1>Hello world!</h1> <h2>MySQL Server version: 5.5.38-0ubuntu0.14.04.1</h2> </body></html>部署自己的 PHP 應用
默認的容器啟動了一個 helloword 應用,我們可以使用 dockerfile 創建另外一個鏡像來部署我們自己的應用程序,dockerfile 的詳細語法將在后面章節介紹。
core@localhost ~ $ mkdir phpcore@localhost ~ $ cd php/core@localhost ~/php $ touch Dockerfilecore@localhost ~/php $ vi Dockerfilecore@localhost ~/php $ docker build -t dockerpool/my-lamp-app .
Dockerfile 內容如下:
FROM tutum/lamp:latestRUN rm -fr /app && git clone https://github.com/username/customapp.git /app#這里替換 https://github.com/username/customapp.git 地址為你自己的項目地址EXPOSE 80 3306CMD ["/run.sh"]
新聞熱點
疑難解答