• Docker+phpMyAdmin


        Docker是一个开源的应用容器引擎,它能够实现应用部署的自动化。此外,容器是完全使用沙箱机制,容器之间的环境相互独立,不会相互干扰。

        phpMyAdmin能够为你的MySQL提供直观、方便的Web管理界面,非常好用。

    在这里,由于我不想让phpMyAdmin的PHP、Apache环境与服务器上原有环境混杂到一起,因此采用Docker+phpMyAdmin的方式。
    1. 修改MySQL配置

    和远程访问一个道理,要想从容器中的phpMyAdmin访问运行在服务器上的MySQL,必须先修改MySQL配置文件,允许非localhost的IP访问。

    打开/etc/mysql/mysql.conf.d/mysqld.cnf配置文件,进行如下修改:

    bind-address = localhost
    # 找到上式,修改为
    bind-address = xxx.xx.xx.x # 你的docker0的ip地址
    # 或者修改为
    bind-address = 0.0.0.0 # 表示允许任意ip地址访问

        1
        2
        3
        4
        5

    然后,还需要将你的账号也设置为允许从远程登陆(默认为localhost)。为了完成这一操作,先通过localhost登入mysql,更改mysql数据库里的user表里对应你账号的host项,从localhost改成%。具体操作如下:

    # 使用mysql数据库
    use mysql;
    # 将root账号(可替换成其他)的host修改为%
    update user set host = '%' where user = 'root';
    # 查看修改结果
    select host, user from user;

        1
        2
        3
        4
        5
        6

    最后,不要忘记重启mysql:sudo service mysql restart

    至此,你的MySQL和对应账号已经开放了从Docker容器中访问的权限。
    2. 创建phpMyAdmin镜像

    # PMA_HOST设置为连接的MySQL主机名或ip地址
    # PMA_PORT设置为端口号
    # 8080:80,将宿主机的8080端口映射到镜像的80端口
    docker run -d
        --name myadmin
        -e PMA_HOST=$(ip route show | grep docker0 | awk '{print $9}')
        -e PMA_PORT=3306
        -p 8080:80
        phpmyadmin/phpmyadmin

        1
        2
        3
        4
        5
        6
        7
        8
        9

        值得一提的是,这里是通过桥接网络模式(bridge mode)运行的镜像,因此在镜像中可通过docker0访问宿主网络。

    3. 访问数据库

    此时,可以通过8080端口访问到phpMyAdmin的管理界面了,即http://your_domain_name:8080/。
    4. One More Thing

    把MySQL随意地暴露在网络下无疑会带来安全隐患,从安全角度考虑,应该为防火墙设置白名单规则,只有白名单的IP才能够连接数据库。

    # ufw防火墙,提供一个参考思路而已
    ufw insert 1 allow from 172.17.0.3 to any port 3306
    ————————————————

  • 相关阅读:
    abstract和virtual
    vue中 关于$emit的用法
    babel简介
    vue脚手架的使用
    RAM和ROM
    判断匿名类是否继承父类
    ABP应用层——参数有效性验证
    vue-devtools的安装与使用
    JavaScript中Object.keys用法
    vue中created、mounted、 computed,watch,method 等方法整理
  • 原文地址:https://www.cnblogs.com/kofsony/p/12617913.html
Copyright © 2020-2023  润新知