最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker 搭建lamp應用實例詳解

 更新時間:2016年11月07日 08:59:34   投稿:lqh  
這篇文章主要介紹了Docker 搭建lamp應用實例詳解的相關資料,這里對搭建 LAMP的步驟做了詳細介紹,需要的朋友可以參考下

Docker 搭建lamp應用

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

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

官方的倉里沒有標 OFFICIAL 的 lamp 的鏡像,不過 「tutum」的鏡像做的非常好,我們可以直接 pull 他們的鏡像來完成我們的操作。

core@localhost ~/base $ docker pull tutum/lamp
Pulling repository tutum/lamp
4b32789c7d66: Download complete
...

使用默認方式啟動 lamp 容器

core@localhost ~/base $ docker run -d -p 8080:80 -p 3306:3306 tutum/lamp
#啟動應用并映射 8080 端口和 3306 端口
0ee00c97a5cdefb985baf826c16723f333aa5edddee4072a5107c724ad09f10d
core@localhost ~/base $ docker ps
CONTAINER ID    IMAGE               COMMAND        CREATED       STATUS       PORTS                     NAMES
0ee00c97a5cd    tutum/lamp:latest         "/run.sh"       3 seconds ago    Up 2 seconds    0.0.0.0:3306->3306/tcp, 0.0.0.0:8080->80/tcp  lonely_davinci
e3c136d76b44    tutum/tomcat:8.0          "/run.sh"       45 minutes ago   Up 45 minutes    0.0.0.0:80->8080/tcp              tomcat001
fe9e65aaf58c    dl.dockerpool.com:5000/mysql:5.7  "/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可以查看到默認的應用已經(jīng)啟動
<html>
<head>
    <title>Hello world!</title>
    <style>
    body {
        background-color: white;
        text-align: center;
        padding: 50px;
        font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
    }

    #logo {
        margin-bottom: 40px;
    }
    </style>
</head>
<body>
    <img id="logo" src="logo.png" />
    <h1>Hello world!</h1>
            <h2>MySQL Server version: 5.5.38-0ubuntu0.14.04.1</h2>
    </body>
</html>

部署自己的 PHP 應用

默認的容器啟動了一個 helloword 應用,我們可以使用 dockerfile 創(chuàng)建另外一個鏡像來部署我們自己的應用程序,dockerfile 的詳細語法將在后面章節(jié)介紹。

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)容如下:

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 3306
CMD ["/run.sh"]

再次啟動自己的容器就完成部署了

core@localhost ~/php $ docker stop  0ee
0ee
core@localhost ~/php $ docker rm 0ee
0ee
core@localhost ~/php $ docker run -d -p 8080:80 -p 3306:3306 dockerpool/my-lamp-app

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

curl http://localhost/

在 php 程序中連接數(shù)據(jù)庫

在容器中訪問 mysql 數(shù)據(jù)庫

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

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

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

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

core@localhost ~/php $ docker logs 9cb
=> An empty or uninitialized MySQL volume is detected in /var/lib/mysql
=> Installing MySQL ...
=> Done!
=> Waiting 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 'root' has no password but only allows local connections
========================================================================

默認的 root 用戶無法遠程登陸,所以要使用 admin 用戶,它同樣具有 root 權限。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • docker容器內(nèi)安裝TensorRT的問題

    docker容器內(nèi)安裝TensorRT的問題

    很多朋友在使用docker容器內(nèi)安裝TensorRT的時候,遇到一大堆棘手的問題,不知道怎么處理好了,今天小編就docker安裝TensorRT的問題給大家詳細介紹下,感興趣的朋友一起看看吧
    2021-05-05
  • docker如何查看已安裝的Redis版本

    docker如何查看已安裝的Redis版本

    這篇文章主要介紹了docker如何查看已安裝的Redis版本問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • docker搭建lnmp環(huán)境的實現(xiàn)步驟

    docker搭建lnmp環(huán)境的實現(xiàn)步驟

    DNMP(Docker + Nginx + MySQL + PHP7/5 + Redis)是一款全功能的LNMP一鍵安裝程序,本文就來介紹一下docker搭建lnmp環(huán)境的實現(xiàn)步驟,具有一定的參考價值,感興趣的可以了解一下
    2024-07-07
  • Docker run流程及鏡像的基本命令詳解

    Docker run流程及鏡像的基本命令詳解

    本文主要介紹了Docker中run流程及鏡像的基本命令,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • 使用Docker開發(fā)python Web 應用

    使用Docker開發(fā)python Web 應用

    本文給大家詳細講解了如何使用Docker開發(fā)python應用,特別是WEB應用的步驟,Docker本質(zhì)上提供了非常輕量化的VMs,我們可以使用其創(chuàng)建一個高標準隔離并能大大減少失配的開發(fā)和產(chǎn)品環(huán)境。
    2016-10-10
  • 教你如何獲取Harbor的帶tag的鏡像清單

    教你如何獲取Harbor的帶tag的鏡像清單

    這篇文章主要介紹了如何利用Java語言實現(xiàn)獲取harbor中全部鏡像的帶tag的清單,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-04-04
  • docker部署釘釘機器人報警通知的實現(xiàn)

    docker部署釘釘機器人報警通知的實現(xiàn)

    本文主要介紹了docker部署釘釘機器人報警通知的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-05-05
  • docker 數(shù)據(jù)卷之進階篇

    docker 數(shù)據(jù)卷之進階篇

    這篇文章主要介紹了docker 數(shù)據(jù)卷之進階篇,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • 使用docker安裝hadoop的實現(xiàn)過程

    使用docker安裝hadoop的實現(xiàn)過程

    這篇文章主要介紹了使用docker安裝hadoop的詳細過程,本文給大家講解的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-01-01
  • 私有云存儲Minio Docker鏡像無法啟動,提示:Adding local Minio host to 'mc' configuration

    私有云存儲Minio Docker鏡像無法啟動,提示:Adding local Minio

    使用Minio在本地搭建私有云存儲時出現(xiàn)無法啟動,查看日志頻繁輸出“Adding local Minio host to 'mc' configuration...”,然后停止了,本文給大家分享私有云存儲Minio Docker鏡像無法啟動,提示:Adding local Minio host to 'mc' configuration,感興趣的朋友一起看看吧
    2023-11-11

最新評論

南陵县| 隆尧县| 南部县| 渭南市| 大庆市| 新营市| 嘉善县| 佳木斯市| 莒南县| 辉县市| 兖州市| 洛宁县| 婺源县| 东乌珠穆沁旗| 合川市| 东台市| 文化| 腾冲县| 安宁市| 安丘市| 盘锦市| 泗阳县| 武强县| 井研县| 永丰县| 阿城市| 绥化市| 波密县| 南阳市| 皋兰县| 鹿邑县| 乌什县| 襄城县| 商南县| 镶黄旗| 社旗县| 金川县| 华阴市| 柞水县| 左权县| 新民市|