docker部署PMA(LNMP架构)
上篇文章中已经部署好php环境,测试也已经OK
centos 7 docker 启动了一个web服务 但是启动时 报
WARNING: IPv4 forwarding is disabled. Networking will not work.
网上查询了下 需要做如下配置
这篇文章来部署MySQL和PMA
1.下载Mysql镜像文件
使用以下命令从Docker镜像库中下载mysql镜像
docker pull mysql
等下载成功后可以使用以下命令查询结果
docker images
docker.io/mysql latest 5d4d51c57ea8 10 days ago 373.6 MB
2.启动Mysql容器
启动mysql容器的方法很简单,运行以下命令即可:
docker run --name=mysqlserver -itd -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root docker.io/mysql
命令参数说明
--name 给容器起一个别名,可选,如果不指定,则Docker会自动生成不规则的字符串表示
-i 指定容器可以交互,有了此选项后,可以使用docker attach等与容器进行交互
-p 映射宿主机与容器中服务端口
-e 设置容器运行所需要的环境变量MYSQL_ROOT_PASSWORD是mysql登录用户名密码。
d836227eeee1 docker.io/mysql "docker-entrypoint.sh" 19 minutes ago Up 19 minutes 0.0.0.0:3306->3306/tcp mysql
docker logs -f mysql

等待他启动完成,即可从本地登录。
3.访问Mysql数据库
由于我们在上面使用了-p参数映射了容器的3306端口到宿主机的3306端口,此时我们可以直接访问宿主机的3306端口来访问Docker中的mysql服务
mysql -h 127.0.0.1 -u root -p
tcp6 0 0 :::3306 :::* LISTEN 15653/docker-proxy-

密码为root(通过启动参数中的-e MYSQL_ROOT_PASSWORD=root 进行设定的)
- 限定只能通过宿主机访问mysql数据库
如果需要限定只能通过宿主机访问mysql数据库,可以使用 –p 127.0.0.1:3306:3306 参数 - 自定义mysql的配置及备份mysql数据
如果需要修改mysql容器中的mysql配置,可以在启动容器参数中增加-v参数,映射本地的目录或文件到mysql容器,覆盖容器中的某个文件或文件夹
生产环境中使用的命令:
docker run -a STDIN -a STDOUT -a STDERR --privileged=true --name=mysqlserver -v /data/mysql/my.cnf:/etc/mysql/my.cnf:ro -v /data/mysql/data/:/opt/mysql/data:rw -p 3306:3306 -e MYSQL_ROOT_PASSWORD=12345 mysql
4.部署PMA
使用php和mysql开发网站的话,phpmyadmin是一个非常友好的mysql管理工具,并且免费开源,国内很多虚拟主机都自带这样的管理工具,配置很简单,接下来在linux服务器上配置phpmyadmin来管理MySQL数据库
首先访问phpmyadmin官网首页,网址为:http://www.phpmyadmin.net/,进入之后有download按钮,先不要下载,因为下载下来是windows的zip包,点击导航栏的Download链接,进入下载界面
下载下来上传到服务器上,然后执行下面命令解压:
tar -xvzf phpMyAdmin-4.5.5.1-all-languages.tar.gz
解压完成之后,我们放到一个可被web访问到的目录下,后续方便管理,比如/home/wwwroot
mv phpMyAdmin-4.5.5.1-all-languages /var/www/html(这里是之前nginx映射到本地目录的根路径)
然后执行 cd/var/www/html 然后将phpmyadmin目录重命名,尽量不让别人猜出来入口,比如:
mv phpMyAdmin-4.5.5.1-all-languages pma
然后执行 cd pma 进入安装目录,最新版本的phpmyadmin支持快速配置,不用执行安装脚本,官方有快速安装中文文档:http://docs.phpmyadmin.net/zh_CN/latest/setup.html#quick-install
这时候可以看到目录下有一个配置文件:config.sample.inc.php
将这个文件拷贝一份:
cp config.sample.inc.php config.inc.php
然后执行编辑:
vim config.inc.php
找到$cfg['blowfish_secret']配置项,后面默认为空,这里我们可以随便设置一个复杂的字符串,用来加密使用:

然后$cfg['Servers'][$i]['auth_type']这一项默认为cookie,表示每次都要登录,我们不用修改,这样比较安全,然后$cfg['Servers'][$i]['host'] = '127.0.0.1';这里建议设置成IP地址,则无论是本地还是远程只要mysql授权都没有问题,默认localhost可能会出现#2002 - Permission denied — The server is not responding 这样的错误,一定要注意,建议使用IP地址

如果本地调试的话,那么这里要设置成config,然后在这里填上用户名和密码,每次就自动进入了,调试比较方便
总体就是设置上面的登录认证类型和IP地址共两项,设置完成保存并退出,然后通过web访问我们phpmyadmin的目录地址即可,比如放到了www.xxxx.com下,那么这个时候我们需要访问:http://www.xxxx.com/phpmyAdmina4689f,注意Linux服务器严格区分大小写,这个时候看到登录界面,phpmyadmin就配置好了

docker部署PMA(LNMP架构)的更多相关文章
- 使用docker部署nginx+tomcat架构(3):使用docker-compose简化部署操作
经历了之前的两篇,我们已经大体上了解了docker部署容器的过程. 使用docker部署nginx+tomcat架构 使用docker部署nginx+tomcat架构():访问mysql数据库 不过, ...
- 部署企业LNMP架构搭建bbs
部署企业LNMP架构 1===============部署Nginx 2===============安装及部署Mysql数据库 3===============安装PHP解析环境 4======== ...
- 使用docker部署nginx+tomcat架构(2):访问mysql数据库
上一篇完成了通过docker部署nginx+tomcat的基础软件架构,但是距离一个真正可用的软件架构还差得很远.其中最重要的一点是缺少数据库这个角色的存在,那么本篇就来完善这一点. 废话少说,直接进 ...
- 使用docker部署nginx+tomcat架构
架构说明: 使用nginx+tomcat实现动态/静态(资源请求)分离和负载均衡. 参考文档: https://www.runoob.com/docker/docker-tutorial.html 配 ...
- 部署LNMP架构及其应用
部署企业LNMP架构 (一)首先安装nginx服务,具体请见另一篇关于nginx的博文. (二)安装MySQL数据库 .安装前准备 [root@localhost ~]# rpm -e mysql-s ...
- 第20章 使用LNMP架构部署动态网站环境
章节概述: 本章节将从Linux系统的软件安装方式讲起,带领读者分辨RPM软件包与源码安装的区别.并能够理解它们的优缺点. Nginx是一款相当优秀的用于部署动态网站的服务程序,Nginx具有不错的稳 ...
- LNMP架构部署
第1章 部署LNMP架构步骤 1.1 ①部署Linux系统(OK) 基本优化完成(ip地址设置 yum源更新 字符集设置) 安全优化完成(iptables关闭 selinux关闭 /tmp/ 1777 ...
- Docker Swarm应用--lnmp部署WordPress
一.简介 目的:使用Docker Swarm 搭建lnmp来部署WordPress 使用Dockerfile构建nginx.php镜像 将构建的镜像上传docker私有仓库 使用volume做work ...
- 用lnmp架构部署wordpress网站详细步骤
用lnmp架构部署wordpress网站 ①.下载和上传网站代码 用winscp或者xftp, 或者xshell下执行rz命令进行上传网站的包文件. ②.解压程序代码,并将程序代码保存到站点目录,并进 ...
随机推荐
- android DecorView深入理解
开发中,通常都是在onCreate()中调用setContentView(R.layout.custom_layout)来实现想要的页面布局.页面都是依附在窗口之上的,而DecorView即是窗口最顶 ...
- 使用poi和jfreechart生成excel图表图片
最近项目在频繁的操作excel,里边涉及到很多和图表有关的东西.有时候需要使用java操作excel自带的图标,比较复杂的我们都是使用excel模板的形式实现. 除此之外,也有一些功能只需要生成对应的 ...
- FFMPEG 实现 YUV,RGB各种图像原始数据之间的转换(swscale)
FFMPEG中的swscale提供了视频原始数据(YUV420,YUV422,YUV444,RGB24...)之间的转换,分辨率变换等操作,使用起来十分方便,在这里记录一下它的用法. swscale主 ...
- ASP.NET CORE的Code Fist后Models更改了怎么办?
上次我写到MVC的code fist后,自动生成数据库并自动生成web页面了 点击打开链接 那么随着项目需求的逐步明确,model变化了怎么办呢?其实和上次一样的,有两条关键的语句要记住 Add-Mi ...
- 零基础6个月学好java月薪1w+看看他是怎么学好java的
21世纪进入信息时代,信息科技给人类的生产和生活方式带来了深刻的变革,信息产业已成为推动国家经济发展的主导产业之一,Java作为含金量极高的一门IT技术,很多人希望从事这个行业,那么想学好Java,要 ...
- $PkuWc\ 2018$ 酱油记
PkuWc 2018 酱油记 1. Day -INF 又停了一个月课...... 感觉这个月的收获还是蛮大的,刚来的时候还只会线段树,到现在LCT都学了... 这个月不停在考试,自己考试技巧也提升了不 ...
- 【洛谷T7243】【CJOJ2225】【BYVoid S3】珠光宝气阁(潜入辛迪加)
Description "我们最新的研究成果<毒药研究方案>被可恶的辛迪加偷走了!"作为拉文霍德的一员,你一定感到很震惊,因为它是我们最尖端的科研人员的一年的研究成果. ...
- Bzoj2337:[HNOI2011]XOR和路径
题面 bzoj Sol 设\(f[i]\)表示\(i到n\)的路径权值某一位为\(1\)的期望 枚举每一位,高斯消元即可 不要问我为什么是\(i\ - \ n\)而不可以是\(1\ - \ i\) # ...
- PyCharm的注册码获取
1.在server选项里边输入 http://elporfirio.com:1017/就可以了. 2.server选项里边输入 http://idea.imsxm.com/ 3.server选项里边 ...
- win10怎么安装JDK8,配置JDK8的环境变量
win10怎么安装JDK8,配置JDK8的环境变量 本文详细说明怎么在win10上安装JDK8,方便小伙伴们快速学会安装与配置JDK. 工具/原料 windows10 jdk-8u51-windows ...