美文网首页Docker
Docker 部署mysql

Docker 部署mysql

作者: 子丿龙 | 来源:发表于2021-04-12 10:48 被阅读0次

    一. 基本安装步骤

    1.查询mysql镜像

    docker search  mysql
    

    2.拉取对应版本镜像,如不指定默认最新版,此处下载5.7版本

    docker pull mysql:5.7 
    

    3.运行镜像

    #-p 指定端口  ; --name指定自定义名称;   -e指定root密码(是root账户的密码);
    #-d 后台运行  ; mysql:5.7  拉取的镜像
    docker run -p 3306:3306  --name  mysql  -e MYSQL_ROOT_PASSWORD=123456  -d   mysql:5.7
    

    4.进入mysql控制台

    #-it 就是-i  -t  ,一般同时使用,开启一个虚拟台链接mysql控制台(bash 或者 /bin/bash)
    docker exec -it mysql:5.7  bash
    

    二. 问题处理

    1.更改端口映射,(例如,启动mysql是忘记配置端口映射)

    方法1:

    1.先停止容器

    docker stop mysqlA
    

    2.再停止docker

    systemctl stop docker
    

    3.修改docker配置文件,在这个json文件里,找到 PortBindings 对象,追加新端口参数

    vi   /var/lib/docker/containers/{container_id}/hostconfig.json
    

    例如,追加一个3307端口映射:

    "PortBindings": {
         "3306/tcp": [
             {
                 "HostIp": "",
                 "HostPort": "3306"
             }
         ],
         "3306/tcp": [
             {
                 "HostIp": "",
                 "HostPort": "3307"
             } 
         ]
     }
    

    4.检查config.v2.json文件里是否也记录了端口映射,也要修改

    "Config": {
        ....
        "ExposedPorts": {
            "8898/tcp": {}
        },
        ....
    },
    "NetworkSettings": {
    ....
    "Ports": {
         "8898/tcp": [
             {
                 "HostIp": "",
                 "HostPort": "8082"
             },
            {
                 "HostIp": "",
                 "HostPort": "8083"
             }
         ],
    

    5.启动docker服务

    systemctl start docker
    

    6.启动容器

    docker start  mysqlA
    
    方法2:

    本质就是创建新镜像重新启动,但是如果原来的容器已经配置了参数,那么这种方式可以保留参数(因为是用原来带参数的容器构建的镜像)。
    1.先停止容器

    docker stop mysqlA
    

    2.将容器commit成为一个镜像

    docker commit mysqlA  mysqlB
    

    3.运行容器

    docker run  -p 3306:3306   -d  mysqlB
    

    相关文章

      网友评论

        本文标题:Docker 部署mysql

        本文链接:https://www.haomeiwen.com/subject/vxgtlltx.html