Docker 安装mysql镜像,含离线

Docker 安装mysql镜像(含离线)准备mysql的Docker镜像(需要在有网的服务器中下载)将准备好tar导入到docker镜像

Docker启动mysql镜像并初始化数据库Docker启动MySQL镜像Docker初始化数据库有网配置(非必要,按需修改)无网配置(非必要,按需修改)

Docker 安装mysql镜像(含离线)

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

使用有网的服务器下载好镜像 docker pull mysql:5.7

保存下载好的镜像成tar docker images

docker save imageid > mysql5.7

ll

将准备好tar导入到docker镜像

将镜像上传到所需服务器(放在固定位置) 导入镜像 docker load

注意名称,这里的mysql5.7和上面打包docker save imageid > mysql5.7的名称一致,本例未改名 查看导入的镜像,并重新命名镜像 docker images

docker tag imageid mysql:5.7

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

Docker启动MySQL镜像

创建本地数据库目录、配置文件以及日志目录(方便进行容器数据卷挂载) mkdir -p /home/app/mysql/data /home/app/mysql/logs /home/app/mysql/conf

启动镜像 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初始化数据库

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

进入到bash docker exec -it eef0fab001e8 bin/bash

eef0fab001e8 :镜像id,容器第一次启动要根据镜像来启动,所以镜像id必不可少。可以通过命令docker iamges查看镜像id docker 安装vim(有网) apt-get update

apt-get install vim

修改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 退出并在后台运行容器; 重启 docker 容器 docker restart [容器名]

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

进入到bash docker exec -it eef0fab001e8 bin/bash

eef0fab001e8 :镜像id,容器第一次启动要根据镜像来启动,所以镜像id必不可少。可以通过命令docker iamges查看镜像id docker 配置my.cnf(非必要,按需修改)【直接拷贝,需重启】 复制/root/mysql_db_back/下的my.cnf文件到容器中的etc目录下 docker cp /root/mysql_db_back/my.cnf mysql:/etc

重启 docker 容器 docker restart [容器名]

检查参数配置 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'

);

查看原文