zoukankan      html  css  js  c++  java
  • Docker中运行MySQL5.7并挂载宿主机目录到镜像

    1.1 拉取mysql镜像

    docker pull mysql:5.7

    1.2 创建用于挂载的目录

    mkdir –p /docker/mysql/logs  /docker/mysql/conf  /docker/mysql/data

    1.3 使用镜像创建容器

    #将容器中MySQL的3306端口映射到本地的3306端口,并设置登录密码为:123456
    docker run 
    --name mysql5.7
    -p 3306:3306
    -v /docker/mysql/data:/var/lib/mysql
    -v /docker/mysql/conf:/etc/mysql/conf.d
    -e MYSQL_ROOT_PASSWORD=123456
    -d mysql:5.7
    如果启动多个容器需要删除某个 可以执行docker ps -l 查询当前运行的容器 docker rm 容器id 删除对应的容器实例

    1.4 命令参数解析:

    • --name:容器名
    • -p:映射宿主主机端口
    • -v:挂载宿主目录到容器目录
    • -e:设置环境变量,此处指定root密码
    • -d:后台运行容器

    1.5 进入容器

    docker exec -it 容器名字 /bin/bash
    
    [root@dc01 ~]# docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    96a49c6e7235 mysql:5.7 "docker-entrypoint.s…" 4 weeks ago Up 2 minutes 0.0.0.0:3306->3306/tcp mysql5.7
    fa56f865bd26 nginx:latest "nginx -g 'daemon of…" 4 weeks ago Up 16 minutes 0.0.0.0:80->80/tcp vigilant_swirles
    
    [root@dc01 ~]# docker exec -it 96a49c6e7235 /bin/bash
    
    root@96a49c6e7235:/# mysql -uroot -p123456

    如果需要navicat远程登录需要修改mysql的配置文件/etc/mysql/my.conf,有些版本配置文件地址为/etc/mysql/mysql.conf.d/mysqld.cnf,将bind-address地址设置为无ip访问限制:

    bind-address=0.0.0.0

    如果报出bash: vi: command not found,需要我们在docker容器内部自行安装vim。使用apt-get install vim命令安装vim

    会出现如下问题:

    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    E: Unable to locate package vim
    

    执行apt-get update,然后再次执行apt-get install vim即可成功安装vim


    修改完配置  需要重启mysql服务(直接重新启动容器)docker restart containerID/containerName

    此时可以使用Navicat等工具测试连接mysql

    mark

  • 相关阅读:
    查看电脑电池报告
    git上传文件
    k8s 跨namespace的service相互访问
    Shell中的${},##和%%的使用
    如何去掉excel表格中的单引号?
    忘密码时系统如何添加新账户!
    使用windows 脚本更改电脑的IP地址
    如何让WIN10自动修改自己的门牌号(IP)呢?
    Win7系统电脑共享打印机提示0x000006d9错误代码怎么办?
    ps抠图技术汇总
  • 原文地址:https://www.cnblogs.com/linjiaxin/p/12731414.html
Copyright © 2011-2022 走看看