docker封装mysql镜像
一、概述
直接使用官方的镜像
docker pull mysql:5.7
但是mysqld.cnf并没有优化,还是默认的。
二、封装镜像
创建目录
# dockerfile目录
mkdir -p /opt/dockerfile/mysql
# 持久化目录
mkdir -p /data/mysql/data
/opt/dockerfile/mysql 目录结构如下:
./
├── dockerfile
├── mysqld.cnf
└── run.sh
dockerfile
FROM mysql:5.7
ADD mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.cnf
mysqld.cnf
[client]
port=
socket = /var/run/mysqld/mysqld.sock
[mysql]
no-auto-rehash
auto-rehash
default-character-set=utf8mb4
[mysqld]
###basic settings
server-id =
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
#log-error = /var/lib/mysql/error.log
# By default we only accept connections from localhost
#bind-address = 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=
character-set-server = utf8mb4
sql_mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
default-storage-engine=INNODB
transaction_isolation = READ-COMMITTED
auto_increment_offset =
connect_timeout =
max_connections =
wait_timeout=
interactive_timeout=
interactive_timeout =
log_bin_trust_function_creators =
wait_timeout =
sort_buffer_size = 32M
join_buffer_size = 128M
max_allowed_packet = 1024M
tmp_table_size =
explicit_defaults_for_timestamp =
read_buffer_size = 16M
read_rnd_buffer_size = 32M
query_cache_type =
query_cache_size = 2M
table_open_cache =
table_definition_cache =
thread_cache_size =
back_log =
open_files_limit =
skip-name-resolve
########log settings########
log-output=FILE
general_log = ON
general_log_file=/var/lib/mysql/general.log
slow_query_log = ON
slow_query_log_file=/var/lib/mysql/slowquery.log
long_query_time=
#log-error=/var/lib/mysql/error.log
log_queries_not_using_indexes = OFF
log_throttle_queries_not_using_indexes =
#expire_logs_days =
min_examined_row_limit =
########innodb settings########
innodb_io_capacity =
innodb_io_capacity_max =
innodb_buffer_pool_size = 6144M
innodb_file_per_table = on
innodb_buffer_pool_instances =
innodb_buffer_pool_load_at_startup =
innodb_buffer_pool_dump_at_shutdown =
innodb_log_file_size = 300M
innodb_log_files_in_group =
innodb_log_buffer_size = 16M
innodb_undo_logs =
#innodb_undo_tablespaces =
#innodb_undo_log_truncate =
#innodb_max_undo_log_size = 2G
innodb_flush_method = O_DIRECT
innodb_flush_neighbors =
innodb_purge_threads =
innodb_large_prefix =
innodb_thread_concurrency =
innodb_print_all_deadlocks =
innodb_strict_mode =
innodb_sort_buffer_size = 64M
innodb_flush_log_at_trx_commit=
innodb_autoextend_increment=
innodb_concurrency_tickets=
innodb_old_blocks_time=
innodb_open_files=
innodb_stats_on_metadata=
innodb_file_per_table=
innodb_checksum_algorithm=
#innodb_data_file_path=ibdata1:60M;ibdata2:60M;autoextend:max:1G
innodb_data_file_path = ibdata1:12M:autoextend
#innodb_temp_data_file_path = ibtmp1:500M:autoextend:max:20G
#innodb_buffer_pool_dump_pct =
#innodb_page_cleaners =
#innodb_purge_rseg_truncate_frequency =
binlog_gtid_simple_recovery=
#log_timestamps=system
##############
delayed_insert_limit =
delayed_insert_timeout =
delayed_queue_size =
delay_key_write = ON
disconnect_on_expired_password = ON
div_precision_increment =
end_markers_in_json = OFF
eq_range_index_dive_limit =
innodb_adaptive_flushing = ON
innodb_adaptive_hash_index = ON
innodb_adaptive_max_sleep_delay =
#innodb_additional_mem_pool_size =
innodb_autoextend_increment =
innodb_autoinc_lock_mode =
run.sh
#!/bin/bash
docker run -d --name mysqld_prod --restart=always -e MYSQL_ROOT_PASSWORD= -p : -v /data/mysql/data:/var/lib/mysql mysqld_prod:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
生成镜像
cd /opt/dockerfile/mysql
docker build -t mysqld_prod:5.7 .
启动镜像
bash run.sh
三、测试连接

连接测试

docker封装mysql镜像的更多相关文章
- Docker启动Mysql镜像
date: 2020-03-14 17:00:00 updated: 2020-03-14 18:00:00 Docker启动Mysql镜像 管理员权限!!! docker run -p 3306:3 ...
- Docker安装mysql镜像并进行主从配置
Docker安装mysql镜像并进行主从配置 1.下载需要的mysql版本镜像 docker pull mysql:5.6 2.启动mysql服务实例(基本启动) #启动主mysql docker r ...
- 使用docker中mysql镜像
1.拉取mysql镜像 docker pull mysql:5.6 2.运行mysql的镜像生成一个正在运行的容器,可以通过docker contain ls得到容器的id信息 docker run ...
- docker 创建mysql镜像,并成功进行远程连接
1.安装 1.1 拉取镜像 docker pull mysql 拉取成功可以验证一下 docker images 1.2 创建并启动一个mysql容器 docker run --name ly-mys ...
- Docker下载mysql镜像
1.使用命令查看mysql NAME DESCRIPTION STARS OFFICIAL AUTOMATED mysql MySQL [OK] mariadb MariaDB [OK] mysql/ ...
- 用Docker构建MySQL镜像
构建MySQL镜像 本文目的不仅仅是创建一个MySQL的镜像,而是在其基础上再实现启动过程中自动导入数据及数据库用户的权限设置,并且在新创建出来的容器里自动启动MySQL服务接受外部连接,主要是通过D ...
- Docker 封装java镜像
一.概述 目前java采用的框架是Spring,服务器直接通过 java -jar xxx.jar 就可以启动服务了. 二.jdk镜像 在docker中跑java应用,需要有jdk环境支持才行. 获取 ...
- Docker创建mysql镜像
原文: https://blog.csdn.net/uk8692/article/details/49386679 https://blog.csdn.net/qq362228416/article/ ...
- docker下MySQL镜像的使用方法
预习: 使用到的docker命令: docker images 显示本地有的镜像 docker pull +镜像名称 从docker hub上面拉取镜像 docker run --nam ...
随机推荐
- rpm安装包制作
RPM是RPM Package Manager(RPM软件包管理器) 1. 安装制作工具 # yum install rpm-build 2. 目录结构 /root/rpmbuild/SOURCES ...
- 4 Linux文件与目录管理
Linux的目录文件结构为树状结构,最顶级目录为根目录 / 其他目录通过挂载可以将他们添加到树中,通过解除挂载可以移除他们 绝对路径: 根目录开始 eg: /usr/share/doc 相对路径: 不 ...
- window配合虚拟机VMware搭建虚拟ubuntu服务器入坑集锦
1.VMware虚拟机和主机进行网络连接设置 https://jingyan.baidu.com/article/adc81513b86621f723bf7383.html 2.解决linux虚拟机与 ...
- Springboot环境搭建_第一个例子
首先创建一个maven项目 maven项目创建完成之后,找到pom.xml配置节点.需要springboot-starter-web ,springboot-starter-test,springbo ...
- Nios II IDE代码优化,quartus ii 11.0版本IDE
开发Altera Nios II软件可使用Nios II IDE或 Nios II Software BuildTools for Eclipse(即:Nios II SBT for Eclipse) ...
- [转]【jsp】
建立时间:6.30 &7.12& 7.24& 7.27 7月心比较浮躁,几乎没怎么学习编程 一.JSP技术 1.jsp脚本和注释 jsp脚本: 1)<%java代码%&g ...
- Jupyter 中的 10 个魔法函数
1)%pwd 于显示Jupyter当前的工作空间. 2)%hist 显示当前Jupyter中,所有运行过的历史代码. 3)%who 显示当前Jupyter环境中的所有变量或名称. 4)%reset 删 ...
- xadmin引入django-stdimage在列表页预览图片
一.安装 pip install django-stdimage 安装django-stdimage库 https://github.com/codingjoe/django-stdimage Git ...
- 工作不久的安卓开发者,他们是这样规划自己的Android学习路线
Android开发工作者工作不久的时候,会有一段迷茫期,觉得自己应该再学一点,却不知道从何学起,该怎样规划自己的学习路线呢?今天,我给大家梳理一下Android基础,就像建造房屋一样,要建造一座宏伟的 ...
- websocket 的基本用法
项目当中使用到了websocket,以前的项目当中使用到了另外一个类似的socket.io,两者的区别和联系在另外一篇文章当中有提及,这里就简单的写下websocket的用法 下面的例子是阮一峰的We ...