我们在云服务器上的MySQL数据库在暴露端口和开启远程连接的情况下,是非常不安全的,昨天我的一台服务器就遭到了勒索病毒的攻击,让我支付0.06比特币赎回我的数据。还好那个库中没有重要数据,只是一个弃用了半年的数据库,密码我自己都忘记了,还好通过手段找回了密码,登上去之后就傻眼了。那么如果我们不想开启远程登录还想操作数据库,怎么办?怎么办?用phpmyadmin就可以解决了,不过phpmyadmin也有一定的风险,下面看下怎么玩。

使用Docker发布phpmyadmin并且连接已经存在的MySQL容器

  1. 首先下载phpmyadmin的docker镜像

    # 先查询镜像仓库里有哪些镜像
    docker search phpmyadmin# 拉取star最多的镜像or拉取你想用的镜像
    docker pull docker.io/phpmyadmin/phpmyadmin拉取镜像需要一段时间,这个要看服务器的带宽网速了
    
  2. 启动镜像,连接到已存在的MySQL容器

    # 启动镜像
    docker run --name myadmin -p 80:80 -d --link mysql-db:db docker.io/phpmyadmin/phpmyadmin# 修改容器配置文件
    ## 将配置文件复制到宿主机中
    docker cp myadmin:/etc/phpmyadmin/config.inc.php .## 修改配置文件信息(这里修改的db就是在启动的时候--link后面指定的别名)
    $cfg['Servers'][$i]['host'] = 'localhost' ——> $cfg['Servers'][$i]['host'] = 'db'## 将修改后的配置文件复制回容器中
    docker cp ./config.inc.php myadmin:/etc/phpmyadmin/# 重启phpmyadmin容器
    
  3. 此处就可以连接了,当然你也可以修改配置文件限制连接的用户,然后在MySQL中给连接用户授权

使用docker-compose创建

  1. 安装docker-compose,这里就不赘述了,回头专门用篇文章来解释

  2. 编写docker-compose.yml文件

    version: "2"
    services:mysql:image: hub.c.163.com/library/mysqlcontainer_name: test-mysqlrestart: alwaysports:- "3306:3306"environment:MYSQL_USER: "root"MYSQL_PASSWORD: "root"MYSQL_ROOT_PASSWORD: "root"networks:- net-mysqlphpmyadmin:image: docker.io/phpmyadmin/phpmyadmincontainer_name: test-myadminports:- "80:80"environment:MYSQL_USER: "root"MYSQL_PASSWORD: "root"MYSQL_ROOT_PASSWORD: "root"networks:- net-mysqlnetworks:net-mysql:
    
  3. 发布容器

    # 使用命令发布容器
    docker-compose up -d
    
  4. 然后就可以使用了,不需要修改任何配置文件

Docker安装phpmyadmin相关推荐

  1. 【云原生之Docker实战】使用Docker部署phpMyAdmin数据库管理工具

    [云原生之Docker实战]使用Docker部署phpMyAdmin数据库管理工具 一.phpMyAdmin介绍 1.phpMyAdmin简介 2.phpMyAdmin特点 二.检查docker状态 ...

  2. 群晖docker装梅林_群晖NAS用Docker安装宝塔面板一键部署建站系统

    Docker镜像选择 我们的安装思路是先用Docker安装Centos7系统,然后再安装宝塔面板,当然用群晖自带的VMM虚拟机功能也是一样可以实现的. 1.打开Docker,注册表中搜索centos, ...

  3. Docker 安装部署教程

    Docker 安装 curl -sSL https://get.daocloud.io/docker | sh Docker-Compose 安装并设置权限 curl -L https://get.d ...

  4. 【docker】使用docker安装宝塔面板

    在使用docker安装宝塔面板之前请先确保服务器已经安装并开启了docker 拉取centos基础镜像,用容器启动该基础镜像,直接在这个容器中部署 1.拉取纯净系统镜像 $ docker pull c ...

  5. Docker 安装 PHP

    安装 PHP 镜像 方法一.docker pull php 查找 Docker Hub 上的 php 镜像: 可以通过 Sort by 查看其他版本的 php,默认是最新版本 php:latest. ...

  6. Docker安装Apache与运行简单的web服务——httpd helloworld

    Docker运行简单的web服务--httpd helloworld目录[阅读时间:约5分钟] 一.Docker简介 二.Docker的安装与配置[CentOS环境] 三.Docker运行简单的web ...

  7. etcd 笔记(02)— etcd 安装(apt 或 yum 安装 、二进制包安装、Docker 安装 etcd、etcd 前端工具etcdkeeper)

    1. 使用 apt 或 yum 安装 etcd 命令如下: sudo apt-get install etcd 或者 sudo yum install etcd 这样安装的缺点是:安装的 etcd 版 ...

  8. docker安装Mysql5.7以及远程登陆链接配置

    1.安装mysql5.7 docker镜像 docker安装:docker安装一条龙 1.拉取官方mysql5.7镜像 docker pull mysql:5.7 root@VM-12-5-ubunt ...

  9. docker 安装oracle_阿里云使用Docker搭建Hadoop集群

    摘要 吐血整理,搭建了两遍,亲测可用!!! 我买的是阿里云2C4G的服务器,使用的是CentOS 7.7版本.在搭建过程中踩了不少坑,本篇文章希望对大家有用 CentOS 7.7安装Docker 查看 ...

  10. docker 安装和使用

    目录 1.安装docker的官方网站 配置镜像加速器 查看docker安装的版本 重启docker 启动 docker 查看启动的状态 下载测试镜像 并且启动该容器 2.操作docker 镜像的常用命 ...

最新文章

  1. creat_caltab生成六边形标定板(黑底白点)
  2. nohup 命令(设置后台进程): appending output to ‘nohup.out’ 问题
  3. Qt for Python Mac下使用 fbs 打包软件
  4. python socket send_python socket 连续send,出现粘包问题
  5. LeetCode 771. 宝石与石头
  6. C++ C# 中作用域限定符
  7. CCF201604-2 俄罗斯方块
  8. python入门——P37类和对象:面向对象编程
  9. 经典书单 —— 计算机图形学
  10. HTMLCSS 第五天 笔记
  11. Java面试题超详细讲解系列之六【网络协议篇】
  12. 医疗中的ai_医疗保健中自主AI的障碍
  13. matlab数据存成脚本,matlab的excel的读和写(生成脚本m文件)
  14. 【操作系统】代码实践:先来先服务调度算法(FCFS),短进程优先调度算法(SJF),高响应比优先调度算法(HRRN)
  15. 小区人脸识别门禁系统解决方案
  16. 微信闪退Bug罪魁祸首竟是二维码引擎,附源代码分析
  17. 计算机教室突发事件处理,课堂突发事件处理
  18. 实验三:基于A*算法的迷宫
  19. BBN: Bilateral-Branch Network with Cumulative Learning for Long-Tailed Visual Recognition
  20. 通过nodejs搭建HTTP服务器

热门文章

  1. 3dmax布尔运算差集后图形消失怎么办
  2. Spring Validation 验证框架全面总结
  3. minmax()函数
  4. sqlserver2000局域网无法远程访问
  5. sql判断邮箱是否合法_用正则表达式验证邮箱和手机号
  6. 2014第六届云计算大会参会体会和个…
  7. 解决Ubuntu20.04插入英伟达计算卡后无法开机问题-Ubuntu双显卡切换
  8. 佳博打印机驱动安装方法
  9. 精益创业实战 - 第5章 开始实验
  10. 小刘同学的第一百三十篇日记