上篇文章中已经部署好php环境,测试也已经OK

centos 7 docker 启动了一个web服务 但是启动时 报

WARNING: IPv4 forwarding is disabled. Networking will not work.

网上查询了下 需要做如下配置

解决办法:
# vi /etc/sysctl.conf
或者
# vi /usr/lib/sysctl.d/00-system.conf
添加如下代码:
    net.ipv4.ip_forward=1
 
重启network服务
# systemctl restart network
 
查看是否修改成功
# sysctl net.ipv4.ip_forward
 
如果返回为“net.ipv4.ip_forward = 1”则表示成功了

这篇文章来部署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架构)的更多相关文章

  1. 使用docker部署nginx+tomcat架构(3):使用docker-compose简化部署操作

    经历了之前的两篇,我们已经大体上了解了docker部署容器的过程. 使用docker部署nginx+tomcat架构 使用docker部署nginx+tomcat架构():访问mysql数据库 不过, ...

  2. 部署企业LNMP架构搭建bbs

    部署企业LNMP架构 1===============部署Nginx 2===============安装及部署Mysql数据库 3===============安装PHP解析环境 4======== ...

  3. 使用docker部署nginx+tomcat架构(2):访问mysql数据库

    上一篇完成了通过docker部署nginx+tomcat的基础软件架构,但是距离一个真正可用的软件架构还差得很远.其中最重要的一点是缺少数据库这个角色的存在,那么本篇就来完善这一点. 废话少说,直接进 ...

  4. 使用docker部署nginx+tomcat架构

    架构说明: 使用nginx+tomcat实现动态/静态(资源请求)分离和负载均衡. 参考文档: https://www.runoob.com/docker/docker-tutorial.html 配 ...

  5. 部署LNMP架构及其应用

    部署企业LNMP架构 (一)首先安装nginx服务,具体请见另一篇关于nginx的博文. (二)安装MySQL数据库 .安装前准备 [root@localhost ~]# rpm -e mysql-s ...

  6. 第20章 使用LNMP架构部署动态网站环境

    章节概述: 本章节将从Linux系统的软件安装方式讲起,带领读者分辨RPM软件包与源码安装的区别.并能够理解它们的优缺点. Nginx是一款相当优秀的用于部署动态网站的服务程序,Nginx具有不错的稳 ...

  7. LNMP架构部署

    第1章 部署LNMP架构步骤 1.1 ①部署Linux系统(OK) 基本优化完成(ip地址设置 yum源更新 字符集设置) 安全优化完成(iptables关闭 selinux关闭 /tmp/ 1777 ...

  8. Docker Swarm应用--lnmp部署WordPress

    一.简介 目的:使用Docker Swarm 搭建lnmp来部署WordPress 使用Dockerfile构建nginx.php镜像 将构建的镜像上传docker私有仓库 使用volume做work ...

  9. 用lnmp架构部署wordpress网站详细步骤

    用lnmp架构部署wordpress网站 ①.下载和上传网站代码 用winscp或者xftp, 或者xshell下执行rz命令进行上传网站的包文件. ②.解压程序代码,并将程序代码保存到站点目录,并进 ...

随机推荐

  1. 笔记+R︱Logistics建模简述(logit值、sigmoid函数)

    本笔记源于CDA-DSC课程,由常国珍老师主讲.该训练营第一期为风控主题,培训内容十分紧凑,非常好,推荐:CDA数据科学家训练营 ---------------------------------- ...

  2. 用SDL库播放yuy2 Packed mode

    #define SDL_YUY2_OVERLAY 0x32595559 /* Packed mode: Y0+U0+Y1+V0 */ if (SDL_Init(SDL_INIT_VIDEO) < ...

  3. Windows 7 蓝屏原因

    Windows 7 蓝屏 Microsoft (R) Windows Debugger Version 6.11.0001.404 X86 Copyright (c) Microsoft Corpor ...

  4. (三十)java多线程一

    我们通常在电脑中打开的应用称作进程,一个应用就是一个进程,而一个进程里边一般包含多个线程. 系统要为每一个进程分配独立的内存空间,而进程里的多个线程共用这些内存. 我们通常所写的main方法就是一个线 ...

  5. 检测dll是32/64位 ?

    检测dll是32/64位 ? void CCheck32Or64Dlg::OnButton2() { CString fileName = ""; CFileDialog *fil ...

  6. AHCI模式安装XP以及驱动下载

    一.准备AHCI驱动 1.关于AHCI基础知识,请参考<AHCI模式的驱动下载.安装及蓝屏问题综合>一文. 2.安装AHCI驱动之前,请先确认桌面上.系统盘没有重要的东西需要备份,因为如果 ...

  7. 如何给filter添加自定义接口及调用

    本例子是在VirtualCamera的基础上添加的自定义接口用来实现exe控制osd的显示. 1. 接口部分 #ifndef __H_MyFilter__#define __H_MyFilter__# ...

  8. LeetCode 456. 132 Pattern

    问题描述 给一组数,判断这组数中是否含有132 pattern. 132 pattern: i < j < k, 且 ai < ak < aj 第一种解法 使用栈来保存候选的子 ...

  9. 从html页面加载顺序来更好的理解jquery初始化

    一,html页面加载顺序 1,用户输入网址(假设是个html页面,并且是第一次访问),浏览器向服务器发出请求,服务器返回html文件:2,浏览器开始载入html代码,发现<head>标签内 ...

  10. PyCharm运行报编码错误

    运行报如下错误: SyntaxError: Non-ASCII character '\xe8' in file /home/ubuntu/code/201803091253-text.py on l ...