LAMP介绍
LAMP是操作系统(Linux )、ApacheHTTP服务器、MySQL )、MariaDB、数据库软件(PHP )、Perl或Python )的首字母缩写,通常指web服务器这些开源程序本身并不是专门为与其他几个程序一起运行而设计的,但由于它们的免费和开源,这一组合开始流行起来(大多数Linux发行版* ) 一起使用,看起来像一个充满活力的解决方案包。
介绍如何使用docker构建包含lamp组件的容器。
从站点拉入lamp镜像
官方仓库中没有标记为OFFICIAL的lamp镜像,但“tutum”镜像做得很好。 我们可以直接拉动他们的镜像来完成我们的操作。
' lang-bash ' core @ localhost~~/base $ dockerpulltutum/lamp
pulling存储库tutum/lamp
b 32789 c 7d 66:下载完成
.
使用默认方法启动lamp容器
' lang-bash ' core @ localhost~/base $ docker run ' hljs-operator '-d-p :-p : tutum/lamp
ee 00 c 97 a5 cdefb 985 BAF 826 c 16723 f 333 a a5 eddd ee 4072 a 5107 c 724 ad 09 F10 d
core@localhost ~/base $ docker ps
containeridimagecommandcreatedstatusportsnames
ee 00 c 97 a5' hljs-built _ in ' cdtutum/lamp : latest '/run.sh ' secondsagoupseconds0.0.0. 03:-/TCP,0.0:
e3c 136 d 76 b44 tutum/Tomcat : ' hljs-number ' 8.0 ' hljs-string '/run.sh ' minutesagoupminutes ' hljs-number ' 0
F9 e 65a af 58 CDL.docker pool.com :/MySQL : ' hljs-number ' 5.7 ' hljs-string '/entry point.shmysq 51 minutes agg
酷睿@ localhost~~/base $ curl http://127.0.0.133608080
使用curl,可以验证是否启动了缺省的APP应用程序
职业介绍所世界! body {
背景色: white;
文本对齐3360中心;
padding: 50px;
字体系列: ' open sans ' hljs-string ',' Helvetica Neue 'hljs-string ',Helvetica,Arial,sans-serif;
}
#徽标{
玛格琳- bottom : 40px;
}
' src=' http://upload.server 110.com/image/2014 11 16/205 r 55010-0.png ' /
职业介绍所世界! MySQL server版本:5.5.38-0 Ubuntu0. 14.04.1部署自己的PHP APP应用程序
缺省容器可以启动helloword APP应用程序,使用dockerfile创建其他镜像并部署自己的APP应用程序。 dockerfile的详细语法将在后面的章节中介绍。
酷睿@ localhost~$ mkdir PHP
酷睿@ localhost~$ CD PHP /
core @ localhost~~/PHP $ touchdockerfile
核心@ localhost~~/PHP $ vidockerfile
核心@ localhost~~/PHP $ docker build-tdockerpool/my-lamp-app。
Dockerfile的内容如下。
来自tutum/lamp : latest
run RM-fr/appgitclone https://github.com/username/custom app.git/app
#在此,将https://github.com/username/custom app.git地址替换为您自己的项目地址
EXPOSE 80 3306
CMD ['/run.sh']
重新启动自己的容器将完成部署
' lang-bash ' core @ localhost~~/PHP $ dockerstopee
EEE
核心@ localhost~~/PHP $ dockerrmee
EEE
酷睿@ localhost~~/PHP $ docker run ' hljs-operator '-d-p :-p : docker pool/my-lamp-app
使用curl看看自己的APP应用程序是否正确启动。
curl http://localhost/
通过php程序连接到数据库通过容器访问mysql数据库
此镜像的mysql数据库具有默认的root用户,并且在本地连接时可以不使用密码,因此代码访问非常简单。
' 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;
?
在容器外部访问mysql数据库
第一次在tutum/lamp镜像上启动容器时,将自动创建名为admin的mysql用户,并生成可以使用“docker logs容器ID”获取的随机密码。
' lang-bash ' core @ localhost~~/PHP $ dockerlogscb
=anemptyoruninitializedmysqlvolumeisdetectedin/var/lib/MySQL
=Installing MySQL .
咚咚!
=waiting ' hljs-keyword ' forconfirmationofmysqlservicestartup
=creatingmysqladminuserwithrandompassword
咚咚!
=====================================
youcannowconnecttothismysqlserverusing :
mysql -uadmin -p2Ijg6gvmM0N3 -h -P
pleaseremembertochangetheabovepasswordassoonaspossible!
MySQL user ' hljs-string ' ' root ' hasnopasswordbutonlyallowslocalconnections
=====================================
由于默认root用户无法远程登录,因此要使用管理员用户,您还具有root权限。
总结
以上是这篇文章的所有内容。 我希望这篇文章的内容能帮助大家在docker上构建LAMP。 如果有疑问的话请用信息交流。