docker mysql 容器安装笔记

Basic Steps for MySQL Server Deployment with Docker

1 查找适合的mysql镜像,选择合适的版本

docker search -f stars=3 -f is-official=true mysql--查找tag为mysql,stars大于3官方镜像

2 下载

docker pull mysql:5.7

3 运行

(1)docker run -d --name mysql01 mysql:5.7

说明 此处通过查看日志(docker logs mysql01)不能正常启动,需要运行时传入指定的参数

错误提示:database is uninitialized and password option is not specified

You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD

(2)docker run -d -e MYSQL_ROOT_PASSWORD=password --name mysql01 mysql:5.7

4 查看日志

docker logs mysql01

5 查看运行情况

docker ps

6 访问mysql容器

docker exec –it mysql01 bash

7 创建新用户

mysql> CREATE USER ‘jack‘@‘localhost‘ IDENTIFIED BY ‘pwd123456‘;

mysql> GRANT ALL PRIVILEGES ON *.* TO ‘jack‘@‘localhost‘ WITH GRANT OPTION;

mysql> CREATE USER ‘jack‘@‘%‘ IDENTIFIED BY ‘pwd123456‘;

mysql> GRANT ALL PRIVILEGES ON *.* TO ‘jack‘@‘%‘

->WITH GRANT OPTION;

Mysql 配置和数据内容 挂载 volume

Key: Host上的文件系统 与 docker 容器中的文件的映射

1 在host创建自定目录用户存储配置和数据的目录,用于docker mysql容器中相应文件的映射

比如:


host目录


mysql docker 容器目录


/root/Software/docker/mysql/config/my.cnf


/etc/my.cnf


/root/Software/docker/mysql/data


/var/lib/mysql

说明 host下新建的my.cnf 文件 需要初始内容

my.cnf:

[mysqld]

user=mysql

2 运行

docker run -d -p 3307:3307 -v=/root/Software/docker/mysql/config/my.cnf:/etc/my.cnf -v=/root/Software/docker/mysql/data:/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=password --name mysql01 mysql:5.7

2  bash 进入mysql01 docker容器,登入mysql 查看默认字符集

> docker exec -it mysql01 bash

>mysql –uroot –p

......

>show variables like ‘%char%’;

说明:显示为lanti字符集

3 修改mysql字符集为utf-8,通过修改my.cnf完成

my.cnf:

[mysqld]

user=mysql

character-set-server=utf8

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

4 删除当前容器

>docker stop mysql01

>docker rm mysql01

5 重新启动一个新容器

docker run -d -p 3307:3307 -v=/root/Software/docker/mysql/config/my.cnf:/etc/my.cnf -v=/root/Software/docker/mysql/data:/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=password --name mysql01 mysql:5.7

6 查看字符集,此时默认使用了之前修改后的字符集utf-8

说明:配置被共享了,目的:容器删除 后数据文件也会删除, 挂载可以实现数据的持久化和共享

参考资料:

Mysql 官网:https://dev.mysql.com/doc/refman/5.7/en/docker-mysql-more-topics.html

学习群石墨文档:https://shimo.im/docs/anrlYMFEYloN52c8/

Xmind 文档 : docker的基本命令

Docker命令文档:https://docs.docker.com/engine/reference/commandline

原文地址:https://www.cnblogs.com/creasypita/p/8875955.html

时间: 2024-07-31 17:27:06

docker mysql 容器安装笔记的相关文章

docker mysql镜像安装和使用

docker mysql镜像安装和使用 docker的mysql本次使用的下载docker.index.io的已有镜像orchardup/mysql 参照:https://index.docker.io/u/orchardup/mysql/ 步骤如下:   下载镜像 $ docker pull orchardup/mysql   运行mysql镜像 $ docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=mysql2014 orchardup/my

docker mysql 容器报too many connections 引发的liunx磁盘扩容操作

症状每次删除mysql容器重启没两分钟又报标题错 df -h 命令查看各个挂载空间应用情况发现root home var 三个文件目录挂载的空间满了 网上百度了一下liunx磁盘扩容操作,fdisk -l 命令最终发现本机有一块270的磁盘并未挂载 于是创建pv ,通过pvcreate命令将磁盘/dev/xvdb创建为一个系统PV [[email protected] home]# pvcreate /dev/xvdb Physical volume "/dev/xvdb" succe

Docker Ubuntu容器安装ping

sudo docker run ubuntu apt-get update sudo docker run ubuntu apt-get install iputils-ping 原文地址:https://www.cnblogs.com/php-linux/p/10802732.html

Docker MySQL 导入sql文件

这里Docker MySQL容器名是:mysql56 要操作的sql文件是:backup.sql 查看MySQL容器名称 docker ps 拷贝sql文件到MySQL容器里 docker cp backup.sql mysql56:/backup.sql 进入MySQL容器 docker exec -it mysql56 bash 查看backup.sql [email protected]:/ls backup.sql ... 执行sql导入 mysql -uroot -p${you pwd

玩大数据的你竟然不知道容器?——Docker入门之安装Docker及MySQL

1.简介 Docker是一个开源的应用容器引擎:是一个轻量级容器技术: Docker支持将软件编译成一个镜像:然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像: 运行中的这个镜像称为容器,容器启动是非常快速的. 2.核心概念 docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上): docker客户端(Client):连接docker主机进行操作: docker仓库(Registry):用来保存各种打包好的软件镜像: dock

docker 安装tomcat容器和mysql容器

1. docker pull mysql:5.6 2.docker run -p 3306:3306 --name mysql -v /data/mysql/conf:/etc/mysql/conf.d -v /data/mysql/logs:/logs -v /data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=12345678 -d mysql:5.6 解释: 需要说明的是宿主机中的/data/mysql/conf或data或logs可

Centos7.4—Docker容器安装配置与基本操作

Docker容器基本操作 目录第一部分 实验环境第二部分 安装配置Docker软件第三部分 Docker镜像操作第四部分 Docker容器操作第五部分 制作镜像第六部分 数据卷管理第七部分 网络通信第八部分 构建nginx镜像 第一部分 实验环境Linux服务器一台系统:CentOS 7.4IP地址:192.168.80.10 注意:需要该服务器能上公网 第二部分 安装配置docker软件一:配置yum源,加入docker源[[email protected] ~]# vi /etc/yum.r

docker+mysql(8.0.15)+node.js(hapi.js)构建容器(命令行)

安装docker, 准备一个node.js项目,项目中包含数据库配置. 一.将node.js项目创建为image 在项目中创建.dockerignore文件和dockerfile文件(https://github.com/hanxiaoer1992/docker_nodejs_cmd) cd 项目文件夹下(cd ....../docker_nodejs_cmd) docker image build -t dockertest:0.0.1 . 二.拉取mysql docker pull mysq

docker概述与安装及运行容器

传统虚拟化 传统虚拟化步骤 1.安装虚拟化软件以及虚拟化的管理软件 2.创建虚拟机 3.给虚拟机安装os 4.在虚拟机内部不是应用(http.db之类的应用) 传统虚拟化的特点 1.VM与VM之间是完全隔离的,并且虚拟机必须要安装os 2.应用所运行的环境是建立在操作系统之上的 3.应用迁移非常笨重 传统虚拟化已经无法满足当前敏捷开发方式,VM的方式会导致开发环境和生产环境不一致,版本测试完成之后需要重新搭建环境. docker docker是容器的引擎工具,最主要是管理容器的生命周期,创建容器