LAMP(Linux、Apache、MariaDB、PHP)堆栈 Docker 镜像部署LAMP(Linux、Apache、MariaDB、PHP)堆栈 Docker 镜像部署LAMP(Linux、Apache、MariaDB、PHP)堆栈 Docker 镜像部署LAMP(Linux、Apache、MariaDB、PHP)堆栈 Docker 镜像部署
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

LAMP(Linux、Apache、MariaDB、PHP)堆栈 Docker 镜像部署

发表 admin at 2025年2月28日
类别
未分类
标签

关于

自动构建 docker LAMP 映像“linuxconfig/lamp”可用作动态 PHP 应用程序的测试和生产环境。它由 Debian GNU/Linux、Apache 网络服务器、社区开发的 MySQL 关系数据库管理系统分支 MariaDB 和 PHP 脚本语言组成。

部署

“linuxconfig/lamp”docker 镜像的部署是一个相当简单的过程。让我们首先创建一个带有 MariaDB 连接句柄的示例 PHP 网站:


<?php
$dbh = mysqli_connect('localhost', 'admin', 'pass');
if (!$dbh) {
    die('Could not connect: ' . mysqli_error());
}
echo 'Connected successfully to MariaDB database';
mysqli_close($dbh);
?>

将上述代码保存到 index.php 文件和新的 html 目录中。或者,html 目录可能包含您所需的 PHP 应用程序:


$ mkdir html
$ vi html/index.php
$ ls html/
index.php

在此阶段,我们准备部署“linuxconfig/lamp”docker 镜像:


$ sudo docker run --name=lamp -dP -v $PWD/html:/var/www/html linuxconfig/lamp
c2d1687aef21f8a12a7fbb31bf8cf71c1e5adabf381bc6d70e8804c6663f0bc0

通过执行上述命令,我们创建并启动了一个名为 lamp 的新 docker 容器。同时我们也将我们的网站开发目录html挂载为apache的根目录。 MariaDB 和 Apache 端口现在都绑定到主机系统的随机端口。现在,这两个本地端口都可以用于访问 MariaDB 和 Apache 服务:


$ sudo docker port lamp
80/tcp -> 0.0.0.0:49156
3306/tcp -> 0.0.0.0:49155

阿帕奇访问

在此阶段,Nginx Web 服务器和我们的网站可以通过 $sudo docker port lamp 命令指定的端口进行访问。使用命令行或浏览器导航到 http://localhost:49156 URL:


$ curl -i http://localhost:49156
HTTP/1.1 200 OK
Date: Thu, 21 May 2015 00:39:52 GMT
Server: Apache/2.4.10 (Debian)
Set-Cookie: 6b690bb29883a1fb2d50e5547712a052=5qdo9u7m32e64jncjb7v30p8k3; path=/; HttpOnly
Expires: Mon, 1 Jan 2001 00:00:00 GMT
Last-Modified: Thu, 21 May 2015 00:39:52 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Vary: Accept-Encoding
Transfer-Encoding: chunked
Content-Type: text/html; charset=utf-8


Connected successfully to MariaDB database

MariaDB(MySQL)访问

MariaDB 数据库可以通过 admin 用户和默认密码 pass 访问。和之前一样,首先我们需要使用 $sudo docker port lamp 来获取 docker 镜像中链接到 MariaDB 数据库的主机系统端口号。接下来,我们可以连接数据库:


mysql -uadmin -ppass -h 127.0.0.1 -P49155
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.5.43-0+deb8u1 (Debian)

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [(none)]> 

附加信息

重置 MariaDB 用户密码

以下命令将为admin用户设置新密码123:


SET PASSWORD FOR 'admin'@'%' = PASSWORD('123');

重新启动灯组


$ sudo docker exec lamp service supervisor restart

集装箱存取

当您的 lamp 容器正在运行时,可以通过以下方式访问它:


$ sudo docker exec -it lamp /bin/bash
root@733ae4bebf83:/#
©2015-2025 Norria support@norria.com