docker封装mysql镜像

发布时间:2020-03-13 12:18:07编辑:admin阅读(967)

一、概述

直接使用官方的镜像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

dockerfileFROM mysql:5.7

ADD mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.cnf

mysqld.cnf[client]

port=3306

socket = /var/run/mysqld/mysqld.sock

[mysql]

no-auto-rehash

auto-rehash

default-character-set=utf8mb4

[mysqld]

###basic settings

server-id = 2

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=0

character-set-server = utf8mb4

sql_mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

default-storage-engine=INNODB

transaction_isolation = READ-COMMITTED

auto_increment_offset = 1

connect_timeout = 20

max_connections = 3500

wait_timeout=86400

interactive_timeout=86400

interactive_timeout = 7200

log_bin_trust_function_creators = 1

wait_timeout = 7200

sort_buffer_size = 32M

join_buffer_size = 128M

max_allowed_packet = 1024M

tmp_table_size = 2097152

explicit_defaults_for_timestamp = 1

read_buffer_size = 16M

read_rnd_buffer_size = 32M

query_cache_type = 1

query_cache_size = 2M

table_open_cache = 1500

table_definition_cache = 1000

thread_cache_size = 768

back_log = 3000

open_files_limit = 65536

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=10

#log-error=/var/lib/mysql/error.log

log_queries_not_using_indexes = OFF

log_throttle_queries_not_using_indexes = 0

#expire_logs_days = 120

min_examined_row_limit = 100

########innodb settings########

innodb_io_capacity = 4000

innodb_io_capacity_max = 8000

innodb_buffer_pool_size = 6144M

innodb_file_per_table = on

innodb_buffer_pool_instances = 20

innodb_buffer_pool_load_at_startup = 1

innodb_buffer_pool_dump_at_shutdown = 1

innodb_log_file_size = 300M

innodb_log_files_in_group = 2

innodb_log_buffer_size = 16M

innodb_undo_logs = 128

#innodb_undo_tablespaces = 3

#innodb_undo_log_truncate = 1

#innodb_max_undo_log_size = 2G

innodb_flush_method = O_DIRECT

innodb_flush_neighbors = 1

innodb_purge_threads = 4

innodb_large_prefix = 1

innodb_thread_concurrency = 64

innodb_print_all_deadlocks = 1

innodb_strict_mode = 1

innodb_sort_buffer_size = 64M

innodb_flush_log_at_trx_commit=1

innodb_autoextend_increment=64

innodb_concurrency_tickets=5000

innodb_old_blocks_time=1000

innodb_open_files=65536

innodb_stats_on_metadata=0

innodb_file_per_table=1

innodb_checksum_algorithm=0

#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 = 40

#innodb_page_cleaners = 4

#innodb_purge_rseg_truncate_frequency = 128

binlog_gtid_simple_recovery=1

#log_timestamps=system

##############

delayed_insert_limit = 100

delayed_insert_timeout = 300

delayed_queue_size = 1000

delay_key_write = ON

disconnect_on_expired_password = ON

div_precision_increment = 4

end_markers_in_json = OFF

eq_range_index_dive_limit = 10

innodb_adaptive_flushing = ON

innodb_adaptive_hash_index = ON

innodb_adaptive_max_sleep_delay = 150000

#innodb_additional_mem_pool_size = 2097152

innodb_autoextend_increment = 64

innodb_autoinc_lock_mode = 1

run.sh#!/bin/bash

docker run -d --name mysqld_prod --restart=always -e MYSQL_ROOT_PASSWORD=123456  -p 3306:3306 -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 封装sql_docker封装mysql镜像相关推荐

  1. MAC M1安装docker并拉取mysql镜像

    MAC M1安装docker并拉取mysql镜像 inter芯片和m1芯片安装docker方式些许不同,本次我只记录m1安装docker和拉取镜像 Docker常用命令 拉取镜像:docker pul ...

  2. centos基础镜像做mysql镜像_使用docker 基于centos7制作mysql镜像

    说明:由于业务需要使用centos7.6+mysql5.7+jdk8以及其他的java程序,本想在网上找一个现成的,发现镜像都不适合我. 一.yum方式安装mysql 1.编写dockerfile文件 ...

  3. 使用docker的mysql镜像

    2019独角兽企业重金招聘Python工程师标准>>> 环境 macOS 10.13.2 docker 17.12.0 mysql镜像版本 5.7.21 确保docker运行 安装m ...

  4. Docker安装mysql镜像

    一.准备工具 1.需要已经安装docker a. 查看docker版本 docker version 二.下载mysql镜像 1. 查找mysql镜像 docker search mysql57 2. ...

  5. docker下载mysql镜像很慢_docker下载镜像太慢的解决方案

    docker下载镜像卡死或太慢 找了网上很多方法,使用镜像中国也是下载卡死. 最后一种成功了,下载速度很满意 1.先再阿里云注册账号,不需要绑定什么,直接注册就可以了,有账号的直接登录就好. 地址:h ...

  6. docker拉取mysql镜像并启动

    1.安装Docker的依赖库 yum install -y yum-utils device-mapper-persistent-data lvm2 2.添加Docker CE的软件源信息 yum-c ...

  7. docker mysql 操作_[Docker] Docker 快速搭建本地MySQL开发环境

    [Docker] Docker 快速搭建本地MySQL开发环境 关于 Docker 的安装使用本文不再赘述,有兴趣的可以通过官网或是浏览我的专栏文章了解.今天着重给大家介绍下如何利用Docker快速搭 ...

  8. Docker安装Tomcat、MySQL和Redis

    总体步骤 Docker安装Tomcat docker hub上查找tomcat镜像 docker search tomcat 从docker hub上拉取tomcat镜像到本地 docker pull ...

  9. docker容器mysql头文件_在Docker容器中使用MySQL数据库

    开发过程中经常需要安装.调试mysql数据库,还需要在各种操作系上安装包依赖,实在是繁琐,因此就研究了一下如何在docker上运行一个mysql镜像,省却了我安装.找依赖的问题. 注:本文所有内容均在 ...

最新文章

  1. 自然语言处理:汉语分词
  2. 使用vim保存权限不够的文件
  3. Java笔记-使用ServerSocket构建HTTP服务器
  4. Pantera Capital合伙人:ETH已成为机构资产类别
  5. 末学者笔记--Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署静态网站
  6. UTF-8 Unicode ANSI网页编码的区别
  7. Unity粒子特效系列-毒液喷射预制体做好了,unitypackage包直接用 - 上
  8. Binder机制原理简述
  9. mysql计算同比和环比的区别_MySQL实践之同比环比
  10. WeTest全球化服务,为使命召唤手游质量保驾护航
  11. mbk文件导入到oracle,Oracle基于物化视图的远程数据复制
  12. Spans,一个强大的概念
  13. 基于MATLAB的图像处理程序
  14. 数据库中CreateAt、UpdateAt字段的意义
  15. dell 工作站装linux_dell 工作站装linux_个人电脑只装Linux是怎样的体验?
  16. Python+Vue计算机毕业设计社区居家养老服务平台uo3w9(源码+程序+LW+部署)
  17. 职场上不得不知的六个潜规则
  18. C#地理信息编辑器GIS编辑方案, Winform GIS编辑器,C#地理信息编辑器,.NET地理信息编辑器...
  19. 四大组件之ContentProvider(四)-ContentProvider的权限使用和监听
  20. python 函数 日期区间_Python常用函数date_range,如按月区间生成序列

热门文章

  1. 使用Grab的实验平台进行混沌实验编排
  2. 揭秘人工智能(系列):人工智能带来的网络安全威胁
  3. 阿里云喻义:十年牧码,从码农走向工程师的进化之路
  4. 之前写的 JSX 的条件语句竟然存在那么多 Bug?
  5. 华为汪涛:走向智能世界2030,无线网络未来十年十大产业趋势
  6. 数据中心 48 V 直流供电,Vicor 如何解决“最后一英寸”电源设计难题?
  7. DeVOpS 实战:Kubernetes 微服务监控体系
  8. 恭喜了!5 月逼自己学下这项技能,年薪 35 万起
  9. 云漫圈 | 女生适合做程序员吗?
  10. 数据中台精华问答 | 数据中台和传统数仓的区别是什么?