查找MySQL镜像

镜像仓库

  1. https://hub.docker.com/

下拉镜像

  1. docker pull mysql:5.7

查看镜像

  1. docker images

创建MySQL容器

命令式启动MySQL容器

  1. docker run -p 3306:3306 --name mysql \
  2. -v /mydata/mysql/log:/var/log/mysql \
  3. -v /mydata/mysql/data:/var/lib/mysql \
  4. -v /mydata/mysql/conf:/etc/mysql \
  5. -e MYSQL_ROOT_PASSWORD=root \
  6. -d mysql:5.7

参数说明

  1. -p 3306:3306 将容器的3306端口映射到宿主机的3306端口
  2. --name mysql:将容器名字设置为mysql
  3. -v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到宿主机
  4. -v /mydata/mysql/data:/var/lib/mysql:将数据文件夹挂载到宿主机
  5. -v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到宿主机
  6. -e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码
  7. -d mysql:5.7:后台运行容器,并返回容器ID

docker-compose启动

  1. version: '2'
  2. services:
  3. mysql:
  4. container_name: mysql
  5. image: mysql:5.7
  6. ports:
  7. - "3306:3306"
  8. volumes:
  9. - /mydata/mysql/log:/var/log/mysql
  10. - /mydata/mysql/data:/var/lib/mysql
  11. - /mydata/mysql/conf:/etc/mysql
  12. restart: always
  13. environment:
  14. - MYSQL_ROOT_PASSWORD=root
  15. - COMPOSE_PROJECT_NAME=mysql-server

使用docker-compose方式启动可以很方便的查看容器的启动参数,命令启动方式可能会忘记启动参数。

查看容器

  1. docker ps -a

进入容器

  1. docker exec -it mysql /bin/bash

容器中文件

  1. root@3873b46ee9b0:/# ls
  2. bin boot dev docker-entrypoint-initdb.d entrypoint.sh etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
  3. # 退出容器
  4. root@3873b46ee9b0:/# exit;

就是一个linux系统。

配置MySQL

进入挂载数据卷

  1. [root@k8s-master01 ~]# cd /mydata/mysql/
  2. [root@k8s-master01 mysql]# ls
  3. conf data log
  4. [root@k8s-master01 mysql]# cd conf/
  5. [root@k8s-master01 conf]# pwd
  6. /mydata/mysql/conf

创建MySQL配置文件

  1. cat > my.cnf <<-EOF
  2. [client]
  3. default-character-set=utf8
  4. [mysql]
  5. default-character-set=utf8
  6. [mysqld]
  7. init_connect='SET collation_connection = utf8_unicode_ci'
  8. init_connect='SET NAMES utf8'
  9. character-set-server=utf8
  10. collation-server=utf8_unicode_ci
  11. skip-character-set-client-handshake
  12. skip-name-resolve
  13. EOF

注意:解决mysql连接慢问题,skip-name-resolve:跳过域名解析

重启MySQL容器

  1. docker restart mysql

进入容器确认配置

  1. [root@k8s-master01 conf]# docker exec -it mysql /bin/bash
  2. root@3873b46ee9b0:/# cd /etc/mysql/
  3. root@3873b46ee9b0:/etc/mysql# ls
  4. my.cnf
  5. root@3873b46ee9b0:/etc/mysql# cat my.cnf
  6. [client]
  7. default-character-set=utf8
  8. [mysql]
  9. default-character-set=utf8
  10. [mysqld]
  11. init_connect='SET collation_connection = utf8_unicode_ci'
  12. init_connect='SET NAMES utf8'
  13. character-set-server=utf8
  14. collation-server=utf8_unicode_ci
  15. skip-character-set-client-handshake
  16. skip-name-resolve

测试连接

Docker启动容器自启

  1. docker update mysql --restart=always

Docker(三):Docker安装MySQL的更多相关文章

  1. Docker(三)安装Mysql

    1.安装Mysql,以及常见的错误解决方法 https://blog.csdn.net/qq_19348391/article/details/82998391 2.使用SQLyog或者Navicat ...

  2. docker学习4-docker安装mysql环境

    前言 docker安装mysql环境非常方便,简单的几步操作就可以了 拉取mysql镜像 先拉取mysql的镜像,可以在docker的镜像仓库找到不同TAG标签的版本https://hub.docke ...

  3. docker - 容器里安装mysql

    在docker中安装mysql ubuntu官方镜像是精简的ubuntu系统,很多软件和库没有安装,所以直接安装mysql的话依赖较多,建议直接从源码编译安装mysql 通过命令行安装 先启动一个容器 ...

  4. Docker容器手动安装mysql(国内镜像)

    Docker手动安装mysql 1.创建centos镜像的容器 [root@localhost Tools]# docker run -i -d -h zabbix --name zabbix -p ...

  5. Docker学习之安装mysql

    1.从Docker检索mysql镜像 指令: docker search mysql 2.镜像下载 指令: docker pull mysql:5.7.19 3.查看本地镜像列表 指令: docker ...

  6. 部署WEB项目到服务器(三)安装mysql到linux服务器(Ubuntu)详解

    突发奇想,想在自己电脑上部署一个web网站. 1,首先是下载一个适合自己已安装服务器版本的mysql数据库. 这里使用网上的链接http://dev.mysql.com/downloads/mysql ...

  7. Docker通过挂载安装mysql

    一.安装 mkdir -p ./docker/mysql cd docker/ cd mysql/ mkdir conf mkdir data mkdir logs  mkdir mysql-file ...

  8. Docker(三)-Docker中Image、Container与Volume的迁移

    Image 镜像的迁移,适用于离线环境. 一般离线环境,都会自建Docker Registry. 无论 官方的 ,还是最近流行的 Harbor ,都是不错的选择. 但是,这个世界上就是有些环境,或者说 ...

  9. 使用docker安装mysql服务

    使用docker官方镜像安装mysql服务 1 拉取mysql镜像,采用网易加速地址 docker pull hub.c.163.com/library/mysql:5.7 2 重命名镜像名 dock ...

  10. docker 静默安装mysql

    debconf-set-selections命令 1.功能作用 在debconf database中插入默认值 2.位置 /usr/bin/debconf-set-selections 3.格式用法 ...

随机推荐

  1. 通过shodan搜索相同favicon.ico的网站

    0x01 根据favicon.ico生成hash python2,想改python3折腾了半天不得 import mmh3 import requests response = requests.ge ...

  2. iMindMap思维导图中可以插入哪些附件?

    iMindMap(Windows系统)不仅拥有灵活的排版功能,而且还允许用户插入多种附件,丰富思维导图的内容.用户可以为思维导图添加图片.网址.录音等文件,让导图更显生动性.实用性. 将图片.录音等文 ...

  3. PDF编辑:pdfFactory文本备注功能详解

    除了word的doc文件外,PDF也是我们经常接触到的文件格式,经常需要在pdf文件上进行编辑与修改,或者给内容做提示和备注. 文件的文本备注功能可以用pdfFactory来进行,编辑打印PDF一条龙 ...

  4. Mac支持的网络游戏有哪些?怎么支持Windows游戏?

    "游戏是这个世界上唯一能和女性争夺男朋友的东西(/滑稽,有不少女生也喜欢玩游戏)."虽然只是一句玩笑话,不过也可以看出游戏对大多数男生来说是必不可少的一项娱乐活动了.而网络游戏是游 ...

  5. 在Mac上也能轻松拥有Windows应用程序的简便方法

    一般而言,如果我们想要在Windows的环境下下载一款软件那是件很方便的事情.只要我们登陆软件的官网进行下载即可.但是如果我们使用的是Mac OS系统,很多用户就会发现,许多软件会出现不兼容的情况. ...

  6. 解决Jenkins可安装界面是空白的小技巧

    打开后这里面最底下有个[升级站点],把其中的链接改成http的就好了,http://updates.jenkins.io/update-center.json. 然后在服务列表中关闭jenkins,再 ...

  7. C语言讲义——变量的输出

    变量输出·常规 头文件:stdio.h 函数: printf("%", ); 需要占位符%_,要输出几个变量就需要几个占位符. 类型 占位符 助记 int %d d表示十进制dec ...

  8. Java反射——读取XML文件,创建对象

    读取XML文件,创建对象 config.xml <?xml version="1.0" encoding="UTF-8"?> <beans&g ...

  9. 【scrum】scrum价值观

    1.每一位成员都承诺实现项目的目标 2.团队成员相互尊重 3.所有人都专注于工作 4.团队着重开放 5.团队成员有勇气全力支持项目

  10. 【mq读书笔记】消息消费队列和索引文件的更新

    ConsumeQueue,IndexFile需要及时更新,否则无法及时被消费,根据消息属性查找消息也会出现较大延迟. mq通过开启一个线程ReputMessageService来准时转发commitL ...