当前位置:   article > 正文

Docker部署MySQL及管理工具phpmyadmin_docker phpmyadmin

docker phpmyadmin

Docker部署MySQL及管理工具phpmyadmin

phpmyadmin,一个web版的MySQL客户端管理工具,部署在服务器上,可以解决缺少MySQL客户端管理工具的问题。

本文主要包括以下内容:

  • 使用docker分别部署MySQL、phpmyadmin。
  • 使用docker-compose部署MySQL及phpmyadmin。

phpmyadmin的官网:phpMyAdmin

phpmyadmin的官网文档中,docker部署说明:Installation — phpMyAdmin 5.1.4 documentation

分别部署MySQL、phpmyadmin

mysql

docker run --name mysql_rdb -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.7.42
  • 1

MYSQL_ROOT_PASSWORD:root账户的密码

phpmyadmin

  • 部署脚本
docker run --name myadmin -d -e PMA_ARBITRARY=1 -p 13306:80 phpmyadmin:latest
  • 1

PMA_ARBITRARY:允许手动输入MySQL的IP地址

容器启动后,输入登陆地址:http://ip:13306,ip地址换成自己服务器的IP。页面如下:

在这里插入图片描述

为了登陆MySQL,此时需要获取MySQL的IP,由于MySQL和phpmyadmin都是在docker默认的bridge网络上,容器之间无法通过容器名称相互访问(参见:http://t.csdn.cn/qvczF),故可以通过查看默认的bridge网络,查看MySQL的IP,执行命令:

docker network inspect bridge
  • 1

上述命令输出类的信息中,部署信息类似下面:

"Containers": {
            "558a502609e8b31a8caf7e816bc4cd1e7215c897a91fec4eee100911f53bcb24": {
                "Name": "mysql_rdb",
                "EndpointID": "b760349f587073e09a622d375b797fa8dabb641abfb92f859995d3115a8e3df5",
                "MacAddress": "02:42:ac:11:00:04",
                "IPv4Address": "172.17.0.4/16",
                "IPv6Address": ""
            },
            "5dc9e56d55558c6c9412e5fe49c89a1d5da03f50ab927429665f8dfdeee17c3f": {
                "Name": "myadmin",
                "EndpointID": "4c0ea505a8d98e05e859088d342a6f91d4c29e814ca07181a15b85685300215e",
                "MacAddress": "02:42:ac:11:00:05",
                "IPv4Address": "172.17.0.5/16",
                "IPv6Address": ""
            }
        }

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 上面信息中可以看到,MySQL容器mysql_rdb的IP地址为:172.17.0.4(你的可能不一样)
  • 将上面的IP输入phpmyadmin中【服务器】中,输入用户名:root,密码:123456,点击【执行】,即可登陆:
    在这里插入图片描述

注意: 这种部署方式,需要查找MySQL的IP,而这个IP可能会变化,存在不稳定因素。故推荐使用docker-compose,定义自己的bridge网络,完成部署

docker-compose部署

docker-compose的安装:Overview | Docker Documentation

  1. 先创建自定义的bridge网络,连接到自定义bridge网络上的容器,可以通过容器名称相互访问,无法关注对方的IP,执行下面的命令

    docker network create mysql-net
    
    • 1
  2. 编写docker-compose.yml文件。

    version : '3'
    services:
      # MySQL容器
      mysql_rdb:
          # 容器名
        container_name: mysql_rdb
          # 重启策略
        restart: always
        image: mysql:5.7.42
         # 自定义的bridge网络
        networks:
          - mysql-net
        ports:
          # 指定127.0.0.1,则MySQL无法通过其他主机访问,只能本地服务器访问,保障安全
          - "127.0.0.1:3306:3306"
        volumes:
          # 挂挂载配置文件
          - /home/Pdstars/mysql/conf:/etc/mysql/conf.d
          # 挂载数据
          - /home/Pdstars/mysql/data:/var/lib/mysql
        environment:
          # root 密码
          MYSQL_ROOT_PASSWORD: 123456
          TZ: Asia/Shanghai
      # phpmyadmin容器
      mysql_rdb_manage:
        container_name: mysql_rdb_manage
        image: phpmyadmin:latest
        ports:
          - 13306:80
        environment:
         # 指定要连接的数据库,使用MySQL的容器名称
         - PMA_HOST=mysql_rdb
         # 指定要连接数据库的端口
         - PMA_PORT=3306
        depends_on:
          # 依赖MySQL容器
          - mysql_rdb
        networks:
          # 自定义的bridge网络
          - mysql-net
        deploy:
          resources:
            limits:
              memory: 500M
        restart: always
    networks:
       # 自定义的bridge网络
      mysql-net:
        external: true
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
  3. 将上面的docker-compose.yml放到服务器特定目录下,如/home

  4. 启动使用docker compose命令启动,先删除原来分别部署的MySQL、phpmyadmin:

    #删除原来的phpmyadmin
    docker rm -f myadmin
    #删除原来的MySQL
    docker rm -f mysql_rdb
    #启动docker-compose.yml
    docker compose up -d
    #有的版本的docker compose启动命令是
    docker-compose up -d
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
  5. 启动后,访问登陆页:http://ip:13306,ip地址换成自己服务器的IP。页面如下:

在这里插入图片描述

  • 此时,不用输入服务器地址,直接输入用户名:root,密码:123456,即可登陆。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/587386
推荐阅读
相关标签
  

闽ICP备14008679号