您好,欢迎访问一九零五行业门户网

docker中的lamp是什么

在docker中,lamp是指linux(操作系统)、apache http服务器、mysql(mariadb等数据库软件)和php(perl或python)的组合方案,一般用来建立web服务器环境。
本教程操作环境:linux5.9.8系统、docker-1.13.1版、dell g3电脑。
lamp指的linux(操作系统)、apache http服务器、mysql(有时也指mariadb,数据库软件)和php(有时也是指perl或python)的组合方案,一般很适合用来建立web服务器环境。
下面介绍如何使用docker来搭建一个包含lamp组件的容器。
下载lamp镜像
搜索docker hub上被收藏或使用较多的lamp镜像,笔者推荐选择tutum/lamp镜像:
# sudo docker search -s 10 lamptutum/lamp out-of-the-box lamp image (php+mysql) 67 执行docker pull命令,下载镜像: # sudo docker pull tutum/lamp
使用默认方式启动lamp容器
利用下载的镜像启动一个容器,并映射容器的8080端口和3306端口:
# sudo docker run -d -p 8080:80 -p 3306:3306 tutum/lamp# docker ps使用curl命令测试,可以查看到默认的应用已经启动:# curl http://127.0.0.1:8080
部署自己的php应用
默认的容器启动了一个helloword应用。读者可以基于此镜像,编辑dockerfile来创建自定义lamp应用镜像。
在宿主主机上创建新的工作目录lamp:
# mkdir lamp# cd lamp# touch dockerfile
在php目录下里面创建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"]
创建镜像,命名为dockerpool/my-lamp-app:
# docker build -t dockerpool/my-lamp-app .利用新创建镜像启动容器,注意启动时候指定-d参数,让容器后台运行:# docker run -d -p 8080:80 -p 3306:3306 dockerpool/my-lamp-app在本地主机上使用curl看一下自己的应用程序是不是已经正确启动:# curl http://127.0.0.1:8080/
在php程序中连接数据库
1、在容器中访问mysql数据库
下载的tutum/lamp镜像中的mysql数据库已带有默认的root用户,本地连接可以不使用密码,所以在代码中访问数据库的实现非常简单:
<?php$mysql = new mysqli("localhost", "root");echo "mysql server info: ".$mysql->host_info;?>
2、在容器外访问mysql数据库
默认的mysql数据库不支持root用户远程登录,因此在容器外无法直接通过root用户访问mysql数据库。
当第一次使用tutum/lamp镜像启动容器的时候,它会自动创建一个叫admin的mysql用户,并生成一个随机密码,使用docker logs命令可以获取到这个密码:
# sudo docker logs 9cb
注意 admin用户具有root相同的权限。
推荐学习:《docker视频教程》
以上就是docker中的lamp是什么的详细内容。
其它类似信息

推荐信息