Docker 安装mysql镜像(含离线)

准备mysql的Docker镜像(需要在有网的服务器中下载)

  1. 使用有网的服务器下载好镜像

    docker pull mysql:5.7 
    
  2. 保存下载好的镜像成tar

    docker images
    docker save imageid > mysql5.7
    ll
    

    在这里插入图片描述

将准备好tar导入到docker镜像

  1. 将镜像上传到所需服务器(放在固定位置)

  2. 导入镜像

    docker load <mysql5.7
    

    注意名称,这里的mysql5.7和上面打包docker save imageid > mysql5.7的名称一致,本例未改名

    在这里插入图片描述

  3. 查看导入的镜像,并重新命名镜像

    docker images
    docker tag imageid mysql:5.7
    

    在这里插入图片描述

Docker启动mysql镜像并初始化数据库

Docker启动MySQL镜像

  1. 创建本地数据库目录、配置文件以及日志目录(方便进行容器数据卷挂载)

    mkdir -p /home/app/mysql/data /home/app/mysql/logs /home/app/mysql/conf
    
  2. 启动镜像

    docker run --name mysql -p 3306:3306 -v /home/app/mysql/data:/var/lib/mysql -v /home/app/mysql/conf:/etc/mysql/conf.d -v /home/app/mysql/logs:/var/log/mysql -e MYSQL_ROOT_PASSWORD=123456 -d eef0fab001e8
    

    -p 3306:3306 :端口映射,将宿主机3306端口与容器3306端口做映射
    格式:-p 宿主机端口:容器端口

    –name mysql : 指定容器名字为mysql,也可以不指定,不指定没有容器名字

    数据容器卷挂载
    -v /home/app/mysql/data:/var/lib/mysql :对宿主机数据库目录与容器数据库目录进行映射挂载
    -v /home/app/mysql/conf:/etc/mysql/conf.d:对宿主机数据库配置文件与容器数据库配置文件进行映射挂载
    -v /home/app/mysql/logs:/var/log/mysql:对宿主机数据库日志与容器数据库日志进行映射挂载
    -e MYSQL_ROOT_PASSWORD=123456 :配置mysql的root账号的密码为123456(可以根据需要自行修改密码)
    -d:后台执行
    eef0fab001e8 :镜像id,容器第一次启动要根据镜像来启动,所以镜像id必不可少。可以通过命令docker iamges查看镜像id

    在这里插入图片描述

Docker初始化数据库

有网配置(非必要,按需修改)

  1. 进入到bash

    docker exec -it eef0fab001e8 bin/bash
    

    eef0fab001e8 :镜像id,容器第一次启动要根据镜像来启动,所以镜像id必不可少。可以通过命令docker iamges查看镜像id

  2. docker 安装vim(有网)

    apt-get update
    apt-get install vim
    
  3. 修改mysql的配置(非必要,按需修改)

    vi /etc/my.cnf
    

    修改的内容为:

    character-set-server=utf8
    max_connections = 5000
    log_bin_trust_function_creators=1
    lower_case_table_names = 1
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    transaction_isolation = READ-COMMITTED
    group_concat_max_len = 102400 
    

    退出 bash (2 种操作) 1)Ctrl + d 退出容器(也可直接输入:exit); 2)Ctrl + p + q 退出并在后台运行容器;

  4. 重启 docker 容器

    docker restart [容器名]
    

无网配置(非必要,按需修改)

  1. 进入到bash

    docker exec -it eef0fab001e8 bin/bash
    

    eef0fab001e8 :镜像id,容器第一次启动要根据镜像来启动,所以镜像id必不可少。可以通过命令docker iamges查看镜像id

  2. docker 配置my.cnf(非必要,按需修改)【直接拷贝,需重启】

    复制/root/mysql_db_back/下的my.cnf文件到容器中的etc目录下

    docker cp /root/mysql_db_back/my.cnf mysql:/etc
    

    重启 docker 容器

    docker restart [容器名]
    
  3. 检查参数配置

    SHOW VARIABLES WHERE variable_name IN (
    'log_bin_trust_function_creators',
    'transaction_isolation',
    'lower_case_table_names',
    'sql_mode',
    'character_set_server',
    'default_character_set',
    'innodb_large_prefix',
    'max_connections',
    'innodb_buffer_pool_size',
    'group_concat_max_len'
    );
    
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐