一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

云服務(wù)器|WEB服務(wù)器|FTP服務(wù)器|郵件服務(wù)器|虛擬主機(jī)|服務(wù)器安全|DNS服務(wù)器|服務(wù)器知識(shí)|Nginx|IIS|Tomcat|

服務(wù)器之家 - 服務(wù)器技術(shù) - 服務(wù)器知識(shí) - 利用docker搭建LAMP運(yùn)行環(huán)境教程詳解

利用docker搭建LAMP運(yùn)行環(huán)境教程詳解

2020-12-01 23:48服務(wù)器技術(shù)網(wǎng) 服務(wù)器知識(shí)

LAMP相信對(duì)大家來(lái)說(shuō)都不陌生, Docker是一個(gè)開(kāi)源的引擎,可以輕松的為任何應(yīng)用創(chuàng)建一個(gè)輕量級(jí)的、可移植的、自給自足的容器,所以這篇文章給大家介紹利用docker快速搭建LAMP運(yùn)行環(huán)境的方法,有需要的朋友們可以參考借鑒,下面來(lái)

LAMP介紹

LAMP 指的 Linux(操作系統(tǒng))、ApacheHTTP 服務(wù)器,MySQL(有時(shí)也指MariaDB,數(shù)據(jù)庫(kù)軟件) 和 PHP(有時(shí)也是指 Perl 或 Python) 的第一個(gè)字母,一般用來(lái)建立 web 服務(wù)器。 雖然這些開(kāi)放源代碼程序本身并不是專門(mén)設(shè)計(jì)成同另幾個(gè)程序一起工作的,但由于它們的免費(fèi)和開(kāi)源,這個(gè)組合開(kāi)始流行(大多數(shù)Linux發(fā)行版本***了這些軟件)。當(dāng)一起使用的時(shí)候,它們表現(xiàn)的像一個(gè)具有活力的解決方案包。

下面介紹如何使用docker來(lái)搭建一個(gè)包含lamp組件的容器:

從網(wǎng)站上 pull 一個(gè) lamp 鏡像

官方的倉(cāng)里沒(méi)有標(biāo) OFFICIAL 的 lamp 的鏡像,不過(guò) 「tutum」的鏡像做的非常好,我們可以直接 pull 他們的鏡像來(lái)完成我們的操作。

 
?
1
 
2
3
4
"lang-bash">core@localhost ~/base $ docker pull tutum/lamp
Pulling repository tutum/lamp
b32789c7d66: Download complete
...

使用默認(rèn)方式啟動(dòng) lamp 容器

 
?
1
 
2
3
4
5
6
7
8
9
10
"lang-bash">core@localhost ~/base $ docker run "hljs-operator">-d -p : -p : tutum/lamp
 
 
ee00c97a5cdefb985baf826c16723f333aa5edddee4072a5107c724ad09f10d
core@localhost ~/base $ docker ps
CONTAINER ID    IMAGE               COMMAND        CREATED       STATUS       PORTS                     NAMES
ee00c97a5 "hljs-built_in">cd    tutum/lamp:latest         "/run.sh"        seconds ago    Up seconds    0.0.0.0:->/tcp, 0.0.0.0:->/tcp  lonely_davinci
e3c136d76b44    tutum/tomcat: "hljs-number">8.0          "hljs-string">"/run.sh"        minutes ago   Up minutes    "hljs-number">0.0. "hljs-number">0.0:->/tcp              tomcat001
fe9e65aaf58c    dl.dockerpool.com:/mysql: "hljs-number">5.7  "hljs-string">"/entrypoint.sh mysq  51 minutes ago   Up 51 minutes    3306/tcp                    db001,tomcat001/tomysql
core@localhost ~/base $ curl http://127.0.0.1:8080

#使用curl可以查看到默認(rèn)的應(yīng)用已經(jīng)啟動(dòng)

 
?
1
 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<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="http://upload.server110.com/image/20141116/205R55010-0.png" />
    <h1>Hello world!</h1>
            <h2>MySQL Server version: 5.5.38-0ubuntu0.14.04.1</h2>
    </body>
</html>

部署自己的 PHP 應(yīng)用

默認(rèn)的容器啟動(dòng)了一個(gè) helloword 應(yīng)用,我們可以使用 dockerfile 創(chuàng)建另外一個(gè)鏡像來(lái)部署我們自己的應(yīng)用程序,dockerfile 的詳細(xì)語(yǔ)法將在后面章節(jié)介紹。

 
?
1
 
2
3
4
5
core@localhost ~ $ mkdir php
core@localhost ~ $ cd php/
core@localhost ~/php $ touch Dockerfile
core@localhost ~/php $ vi Dockerfile
core@localhost ~/php $ docker build -t dockerpool/my-lamp-app .

Dockerfile 內(nèi)容如下:

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

再次啟動(dòng)自己的容器就完成部署了

 
?
1
 
2
3
4
5
"lang-bash">core@localhost ~/php $ docker stop  ee
ee
core@localhost ~/php $ docker rm ee
ee
core@localhost ~/php $ docker run "hljs-operator">-d -p : -p : dockerpool/my-lamp-app

使用 curl看下自己的應(yīng)用程序是不是已經(jīng)正確啟動(dòng)了吧!

 
?
1
 
curl http://localhost/

在 php 程序中連接數(shù)據(jù)庫(kù) 在容器中訪問(wèn) mysql 數(shù)據(jù)庫(kù)

這個(gè)鏡像的 mysql 數(shù)據(jù)庫(kù)有個(gè)默認(rèn)的 root 用戶,本地連接時(shí)可以不用密碼,所以在代碼訪問(wèn)非常簡(jiǎn)單。

 
?
1
 
2
3
4
"hljs-preprocessor"><?php
$mysql = "hljs-keyword">new mysqli( "hljs-string">"localhost", "hljs-string">"root");
echo "hljs-string">"MySQL Server info: ". "hljs-variable">$mysql "hljs-variable">->host_info;
?>

在容器外部訪問(wèn) mysql 數(shù)據(jù)庫(kù)

當(dāng)我們第一次以 tutum/lamp 鏡像啟動(dòng)容器的時(shí)候,它會(huì)自動(dòng)創(chuàng)建一個(gè)叫 admin 的 mysql 用戶,并生成一個(gè)隨機(jī)密碼,使用「docker logs +容器ID」可以獲取到這個(gè)密碼。

 
?
1
 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
"lang-bash">core@localhost ~/php $ docker logs cb
=> An empty or uninitialized MySQL volume is detected in /var/lib/mysql
=> Installing MySQL ...
=> Done!
=> Waiting "hljs-keyword">for confirmation of MySQL service startup
=> Creating MySQL admin user with random password
=> Done!
========================================================================
You can now connect to this MySQL Server using:
 
  mysql -uadmin -p2Ijg6gvmM0N3 -h<host> -P<port>
 
Please remember to change the above password as soon as possible!
MySQL user "hljs-string">'root' has no password but only allows local connections
========================================================================

默認(rèn)的 root 用戶無(wú)法遠(yuǎn)程登陸,所以要使用 admin 用戶,它同樣具有 root 權(quán)限。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家用docker搭建LAMP能有所幫助,如果有疑問(wèn)大家可以留言交流。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费观看国产大片资源视频 | 视频在线视频免费观看 | 极品美女aⅴ高清在线观看 极品ts赵恩静和直男激战啪啪 | 久久九九精品国产自在现线拍 | 亚洲成人免费 | 国产91对白在线观看 | 天天快乐高清在线观看 | 成人伊人亚洲人综合网站222 | 国产视频二 | 欧美灰丝袜丝交nylons | 亚洲男女网站 | 国产91精品在线播放 | 亚洲乱人伦在线 | 女海盗斯蒂内塔的复仇2免费观看 | 色综合综合色 | 91高清在线视频 | 国产精亚洲视频 | 四虎影库紧急大通知 | 成人久久18免费网站入口 | 日韩成人影视 | 欧美日韩国产最新一区二区 | 青草娱乐极品免费视频 | 禁忌4中文 | 高清视频在线观看+免费 | 欧美日韩一区二区三在线 | 国产午夜一区二区在线观看 | 香蕉国产人午夜视频在线 | 水多多www视频在线观看高清 | 国产区成人综合色在线 | 91精品乱码一区二区三区 | 色橹橹| 欧美精品一线二线大片 | 精品国产福利一区二区在线 | a片毛片在线免费看 | 亚洲网站在线观看 | 日韩欧美一区二区三区免费观看 | 高清在线观看免费 | 91精品国产99久久 | 国产精品亚洲午夜一区二区三区 | 亚洲国产成人精品无码区APP | 99亚洲视频 |