Docker容器里部署Apache+PHP+MariaDB+phpMyAdmin的步骤
这篇文章主要讲解了“Docker容器里部署Apache+PHP+MariaDB+phpMyAdmin的步骤”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Docker容器里部署Apache+PHP+MariaDB+phpMyAdmin的步骤”吧!
创建Apache+PHP+phpMyAdmin镜像
首先启动MariaDB的容器
在上一节中我们知道数据库的用户名是root,密码是123456,但是我们还缺少数据库的ip地址,我们使用如下方法获取docker实例的ip地址,是172.17.0.3
[root@test01~]#dockerpsCONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES2e78c466919eliuxin/centos-mariadb:v1"/root/run.sh"11hoursagoUp3hours0.0.0.0:13306->3306/tcpdreamy_bell[root@test01~]#dockerinspect--format'{{.NetworkSettings.IPAddress}}'2e78c466919e172.17.0.3[root@test01~]#
首先创建目录和文件
[root@test01~]#mkdirphpMyAdmin_dockerfile&&cdphpMyAdmin_dockerfile[root@test01phpMyAdmin_dockerfile]#lsconfig.inc.phpDockerfilehttpd_init.shphptest.phprun.sh
编辑Dockerfile文件
内容如下。具体每行的意思已经添加到注释中了
[root@test01phpMyAdmin_dockerfile]#catDockerfile##使用的基础镜像FROMcentos:7.4.1708#添加作者信息MAINTAINERliuxin842887233@qq.com#工作目录WORKDIR/root/#安装httpd和php,并忽略错误RUNyum-yinstallhttpdRUNyum-yinstallphp#安装mariadb客户端和php-mysqlndRUNyum-yinstallmariadbRUNyum-yinstallphp-mysqlndRUNyum-yinstallphp-mbstring#安装phpmyadminRUNyum-yinstallepel-releaseRUNyum-yinstallphpmyadmin#设置环境变量,便于管理ENVMARIADB_ADDR172.17.0.3ENVMARIADB_PORT3306ENVMARIADB_USERrootENVMARIADB_PASS123456#让容器支持中文ENVLC_ALLen_US.UTF-8#配置phpmyadmin#ADDphpMyAdmin.conf/etc/httpd/conf.d/phpMyAdmin.confADDconfig.inc.php/etc/phpMyAdmin/config.inc.phpRUNchownroot:apache/etc/phpMyAdmin/config.inc.phpRUNchmod640/etc/phpMyAdmin/config.inc.php#添加php测试界面ADDphptest.php/var/www/html/phptest.php#初始化httpd服务ADDhttpd_init.sh/root/httpd_init.shRUNchmod775/root/httpd_init.shRUN/root/httpd_init.sh#导出端口EXPOSE80#添加启动文件ADDrun.sh/root/run.shRUNchmod775/root/run.sh#设置默认启动命令CMD["/root/run.sh"]
配置phpmyadmin的配置文件
这里我直接将写好的配置文件上传,然后修改文件权限。也可以通过脚本来配置,不过比较麻烦,不如这个简单。改动的配置如下
设置phpmyadmin的登录密码
$cfg['blowfish_secret']='123456';/*YOUMUSTFILLINTHISFORCOOKIEAUTH!*/设置连接数据库的账号、密码、ip和端口$cfg['Servers'][$i]['host']='172.17.0.3';//MySQLhostnameorIPaddress$cfg['Servers'][$i]['port']='';//MySQLport-leaveblankfordefaultport$cfg['Servers'][$i]['user']='root';//MySQLuser$cfg['Servers'][$i]['password']='123456';//MySQLpassword(onlyneeded
使用脚本配置httpd
[root@test01phpMyAdmin_dockerfile]#cathttpd_init.sh#!/bin/shsed-i's/#ServerNamewww.example.com:80/ServerNamelocalhost:80/g'/etc/httpd/conf/httpd.confsed-i'/Requireip/d'/etc/httpd/conf.d/phpMyAdmin.confsed-i'//aRequireallgranted'/etc/httpd/conf.d/phpMyAdmin.conf
添加一个php测试界面
[root@test01phpMyAdmin_dockerfile]#catphptest.php<?phpphpinfo();?>
启动脚本
[root@test01phpMyAdmin_dockerfile]#catrun.sh#!/bin/shhttpdwhiletrue;dosleep1000;done
创建镜像
[root@test01phpMyAdmin_dockerfile]#dockerbuild-tliuxin/centos-phpmyadmin:v1./SendingbuildcontexttoDockerdaemon14.34kBStep1:FROMcentos:7.4.1708--->3afd47092a0e..省略.....Step26:CMD/root/run.sh--->Usingcache--->19e52b9aceabSuccessfullybuilt19e52b9aceab[root@test01phpMyAdmin_dockerfile]#
创建并启动容器
映射,物理机端口8080到容器的80端口
[root@test01phpMyAdmin_dockerfile]#dockerrun-d-p8080:80liuxin/centos-phpmyadmin:v1/root/run.sha5a54528879ea95e9bf98a7ba3fbf6236b26f3a54a5305738a4ee770164f105b[root@test01phpMyAdmin_dockerfile]#dockerpsCONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMESa5a54528879eliuxin/centos-phpmyadmin:v1"/root/run.sh"56secondsagoUp54seconds0.0.0.0:8080->80/tcpsick_ride2e78c466919eliuxin/centos-mariadb:v1"/root/run.sh"12hoursagoUp4hours0.0.0.0:13306->3306/tcpdreamy_bell[root@test01phpMyAdmin_dockerfile]#
验证
打开web浏览器,输入测试的网页
输入phpmyadmin的地址,并输入账号密码,看能否登录
登录成功,大功告成
感谢各位的阅读,以上就是“Docker容器里部署Apache+PHP+MariaDB+phpMyAdmin的步骤”的内容了,经过本文的学习后,相信大家对Docker容器里部署Apache+PHP+MariaDB+phpMyAdmin的步骤这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。