zoukankan      html  css  js  c++  java
  • Docker 部署mysql

    Docker 部署mysql

    步骤

    1.查找 Docker Hub 上的 MySQL 镜像

    root@UbuntuBase:/usr/local/docker/mysql# docker search mysql
    NAME                                                   DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
    mysql                                                  MySQL is a widely used, open-source relati...   5177                [OK]                
    mariadb                                                MariaDB is a community-developed fork of M...   1602                [OK]                
    mysql/mysql-server                                     Optimized MySQL Server Docker images. Crea...   361                                     [OK]
    ......
    

    这里我们拉取官方的镜像

    2.docker pull mysql 拉取镜像

    等待下载完成后,我们就可以在本地镜像列表里查到 REPOSITORY 为 mysql 的镜像

    3.运行容器

    docker run -p 3306:3306 --name docker-mysql 
    -v /usr/local/docker/mysql/conf:/etc/mysql 
    -v /usr/local/docker/mysql/logs:/var/log/mysql 
    -v /usr/local/docker/mysql/data:/var/lib/mysql 
    -e MYSQL_ROOT_PASSWORD=123456 
    -d mysql
    

    命令参数:
    -p 3307:3306:将容器的3306端口映射到主机的3306端口
    -v /usr/local/docker/mysql/conf:/etc/mysql:将主机当前目录下的 conf 挂载到容器的 /etc/mysql
    -v /usr/local/docker/mysql/logs:/var/log/mysql:将主机当前目录下的 logs 目录挂载到容器的 /var/log/mysql
    -v /usr/local/docker/mysql/data:/var/lib/mysql:将主机当前目录下的 data 目录挂载到容器的 /var/lib/mysql
    -e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码
    注意:-v 宿主机的路径可以是不存在的,容器会自动创建,这里conf使用拷贝过来的自己的目录,然后data目录设为空也就是,让容器数据库自己去生成数据文件放进去,不然可能会出现数据访问权限问题,如果使用自己的数据库文件/var/lib/mysql拷贝到data目录挂载使用出现Can't read dir of './mysql/' (errno: 13 - Permission denied)问题,请进入容器将目录的所属改为mysql(命令为chown -R 所属人:所属组 目录)

    4.查看容器启动情况

    root@UbuntuBase:/usr/local/docker/mysql# docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    bc49c9de4cdf mysql:latest "docker-entrypoint..." 4 minutes ago Up 4 minutes 0.0.0.0:3306->3306/tcp mysql
    使用客户端工具连接 MySQL

    使用命令备注

    docker run -p 3307:3306 --name docker-mysql-5.7.25 
    -v /usr/local/docker/mysql/conf:/etc/mysql 
    -v /usr/local/docker/mysql/logs:/var/log/mysql 
    -v /usr/local/docker/mysql/data:/var/lib/mysql 
    -e MYSQL_ROOT_PASSWORD=123456 
    -d mysql:5.7.25
    
    docker run -p 3307:3306 --name docker-mysql-5.7.25 
    -v /usr/local/docker/mysql/logs:/var/log/mysql 
    -v /usr/local/docker/mysql/data:/var/lib/mysql 
    -e MYSQL_ROOT_PASSWORD=123456 
    -d mysql:5.7.25
    
    
    
    docker run --name myshopAdmin -p 8081:8080 -v /usr/local/docker/tomcat/ROOT:/usr/local/tomcat/webapps/ROOT -d tomcat  
    

    本博客为Swagger-Ranger的笔记分享,文中源码地址: https://github.com/Swagger-Ranger
    欢迎交流指正,如有侵权请联系作者确认删除: liufei32@outlook.com

  • 相关阅读:
    spring 配置版本问题
    sublime与Emment
    工欲善其事必先利其器之浏览器篇
    工欲善其事必先利其器之windows篇
    工欲善其事必先利其器之搜索引擎
    营销自我
    java必备技能
    离线安装ADT和sdk
    eclipse的小技巧
    匿名内部类
  • 原文地址:https://www.cnblogs.com/Swagger-Ranger/p/10670033.html
Copyright © 2011-2022 走看看