首页 > 网站 > 建站经验 > 正文

Docker 搭建lamp应用实例详解

2019-11-02 16:25:19
字体:
来源:转载
供稿:网友

Docker 搭建lamp应用

LAMP 指的 Linux(操作系统)、ApacheHTTP 服务器,MySQL(有时也指MariaDB,数据库软件) 和 PHP(有时也是指 Perl 或 Python) 的第一个字母,一般用来建立 web 服务器。 虽然这些开放源代码程序本身并不是专门设计成同另几个程序一起工作的,但由于它们的免费和开源,这个组合开始流行(大多数Linux发行版本捆绑了这些软件)。当一起使用的时候,它们表现的像一个具有活力的解决方案包。下面介绍如何使用Docker来搭建一个包含lamp组件的容器:

从网站上 pull 一个 lamp 镜像

官方的仓里没有标 OFFICIAL 的 lamp 的镜像,不过 「tutum」的镜像做的非常好,我们可以直接 pull 他们的镜像来完成我们的操作。

core@localhost ~/base $ docker pull tutum/lampPulling repository tutum/lamp4b32789c7d66: Download complete...

使用默认方式启动 lamp 容器

core@localhost ~/base $ docker run -d -p 8080:80 -p 3306:3306 tutum/lamp#启动应用并映射 8080 端口和 3306 端口0ee00c97a5cdefb985baf826c16723f333aa5edddee4072a5107c724ad09f10dcore@localhost ~/base $ docker psCONTAINER ID    IMAGE               COMMAND        CREATED       STATUS       PORTS                     NAMES0ee00c97a5cd    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_davincie3c136d76b44    tutum/tomcat:8.0          "/run.sh"       45 minutes ago   Up 45 minutes    0.0.0.0:80->8080/tcp              tomcat001fe9e65aaf58c    dl.dockerpool.com:5000/mysql:5.7  "/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","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 创建另外一个镜像来部署我们自己的应用程序,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"]

再次启动自己的容器就完成部署了

core@localhost ~/php $ docker stop  0ee0eecore@localhost ~/php $ docker rm 0ee0eecore@localhost ~/php $ docker run -d -p 8080:80 -p 3306:3306 dockerpool/my-lamp-app
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表