docker版mysql的使用和配置(1)——docker的基本操作
最近实在是忙成狗,其他的内容等稍微闲一点了一起更新。
这篇主要是讲docker版的mysql的使用和配置信息。因为实习公司需要搞一个docker做测试环境用,还需要包括基本的依赖。最重要的是,因为这个docker是作为jenkins的slave使用的,所以有可能不能在启动的时候加参数。这就导致我得把docker版的mysql的整个使用和配置详细过一遍,看看是否有代替启动参数的设置方法。
文中涉及到的mysql的基本信息见以下链接:
https://hub.docker.com/r/mysql/mysql-server/
https://github.com/mysql/mysql-docker
文章省略了docker的安装。到官网安一下就好了。
那么林可死大特。
1. 常规的基本docker版mysql的使用(docker的基本操作):
下载(community版):
docker pull mysql/mysql-server:tag
这里的tag是指mysql的版本号,比如5.5~5.7,8.0,latest。
docker images
这个是用来查看当前的镜像的清单。
docker run --name=mysql1 -d mysql/mysql-server:tag
接下来就是运行镜像,一个最基本的运行语句大概长这个样子。
--name制定了运行该镜像的容器(container)的名称。如果不声明的话会随机生成一个。
接着是镜像的名字。
-d是指明镜像的运行是扔在后台的。
docker ps
可以用这个语句来查看当前的image的运行情况。
整个流程简单来说,就是:pull镜像,run镜像,ps看看镜像是不是起来了。
docker logs mysql1
logs加上容器的名称,可以看这个容器在运行镜像时产生的日志信息。如果ps看到了镜像没有正常运行,就可以logs检查一下。
docker exec -it mysql1 mysql -uroot -p
exec就是在镜像中执行后面的操作,比如上面就是执行了mysql -uroot -p。
docker exec -it mysql1 bash
为了方便在镜像中执行bash命令,也可以执行这样的命令来开一个bash。
docker stop mysql1
这样可以停止container的运行。想删除container首先要停止container。想删除image首先要删除container。总之是一环扣一环的。
2. docker版mysql和普通版mysql的区别
Docker images for MySQL are optimized for code size, which means they only include crucial components that are expected to be relevant for the majority of users who run MySQL instances in Docker containers.
按官网的说法,docker版的mysql只包含了必要的部分。清单如下:
/usr/bin/my_print_defaults /usr/bin/mysql /usr/bin/mysql_config /usr/bin/mysql_install_db /usr/bin/mysql_tzinfo_to_sql /usr/bin/mysql_upgrade /usr/bin/mysqladmin /usr/bin/mysqlcheck /usr/bin/mysqldump /usr/bin/mysqlpump /usr/sbin/mysqld
3. docker版mysql的使用
前面提到了查看log的方法。docker版mysql的默认配置是:第一次的root密码是随机生成的。所以想用root账户登陆,首先要查看随机生成的密码。
shell> docker logs mysql1 2>&1 | grep GENERATED
GENERATED ROOT PASSWORD: Axegh3kAJyDLaRuBemecis&EShOs
然后就可以-uroot -p登录了。
登录之后的第一件事,就是改root密码。
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
其他的就跟本地运行mysql差不多了。
注意的一点是,我们刚刚run docker的命令中,并没有把docker中的端口和本机的端口进行映射。所以虽然mysql虽然启动了,但是不能通过3306或者其他端口进行访问。
想跟在本机一样的话,就要在启动docker容器的时候对docker和本机的端口进行映射。
docker run -p ip:hostPort:containerPort
docker版mysql的使用和配置(1)——docker的基本操作的更多相关文章
- docker版mysql的使用和配置(2)——docker版mysql的dockerfile
既然目标是定制满足自己需要的dockerfile,那么就来看看mysql的dockerfile长什么样. dockerfile选择的是 https://github.com/mysql/mysql-d ...
- 【Docker】:使用docker安装mysql,挂载外部配置和数据
普通安装 1.下载镜像,mysql 5.7 docker pull mysql:5.7 2.创建mysql容器,并后台启动 docker run -d -p 3306:3306 -e MYSQL_US ...
- Docker的MySQL镜像, 实行数据,配置信息,日志持久化
Docker的MySQL8镜像, 实行数据持久化 使用Docker的MySQL8.0.17实例化一个容器之后需要对其进行数据持久化操作, 使用 docker docker run -p 7797:33 ...
- 使用Docker安装mysql,挂载外部配置和数据
.挂载外部配置和数据安装 mkdir /opt mkdir /opt/mysql mkdir /opt/mysql/conf.d mkdir /opt/mysql/data/ 创建my.cnf配置文件 ...
- docker中MySQL镜像数据,日志,配置持久化
Docker的MySQL8镜像, 实行数据持久化 version: '3.1' services: mysql-itoken-service-admin: restart: always image: ...
- docker创建mysql容器,并挂载数据+配置
新建:/my/mysql/my.cnf (准备挂载配置文件用) 将以下内容拷贝进去(或者启动一个docker的mysql,并且把/etc/mysql/my.cnf中的内容拷贝出来) # Copyrig ...
- Docker搭建Mysql容器
转载自:http://blog.csdn.net/Mungo/article/details/78521832?locationNum=9&fps=1 本文介绍如何使用docker迅速搭建My ...
- 使用docker安装mysql和redis
本文介绍在linux下使用docker安装mysql和redis. 原文地址:代码汇个人博客 http://www.codehui.net/info/59.html 测试环境:centos7.6,do ...
- Mysql和mongo安装配置
mysql配置 1.下载镜像 docker pull mysql/mysql-server 2.运行容器 docker run -d -p 3306:3306 --name [Name] [Image ...
随机推荐
- python实现贴吧顶贴机器人
前言------百度贴吧流量如何?全球最大的中文社区,虽然比不上阿里,腾讯! 此文章仅供交流学习.建议机器人用小号操作,切勿用作商业用途! 测试版本:python 3.7 64位火狐浏览器firefo ...
- linkedhashmap中关于LRU算法的实现
//LinkedHashMap的一个构造函数,当参数accessOrder为true时,即会按照访问顺序排序,最近访问的放在最前,最早访问的放在后面 public LinkedHashMap(int ...
- 第一章节 BJROBOT ROS 网络配置及移动控制【ROS全开源阿克曼转向智能网联无人驾驶车】
版权声明:该教程版权归北京智能佳科技有限公司所有,未经公司授权禁止引用.发布.转载等,否则将追究其法律责任. 使用前说明:本使用文档说明略微简明,请结合指导视频进行操作会更容易理解!! 第一章节 BJ ...
- 使用Modbus4J进行RTU模式串口通信
Modus协议是由MODICON(现为施耐德电气公司的一个品牌)在1979年开发的,是全球第一个真正用于工业现场的总线协议,应用非常广泛,可谓大名鼎鼎. 理论性的东西就不多介绍了,推荐一本书<M ...
- 万万没想到,JVM内存区域的面试题也可以问的这么难?
二.Java内存区域 1.Java内存结构 内存结构 程序计数器 当前线程所执行字节码的行号指示器.若当前方法是native的,那么程序计数器的值就是undefined. 线程私有,Java内存区域中 ...
- 【Java基础】枚举类与注解
枚举类与注解 枚举类的使用 当需要定义一组常量时,强烈建议使用枚举类. 枚举类的理解:类的对象只有有限个,确定的. 若枚举只有一个对象, 则可以作为一种单例模式的实现方式. 枚举类的属性: 枚举类对象 ...
- mysql的逻辑备份和恢复
备份指定的数据库或此数据库中的某些表 mysqldump [options] db_name [tables] >backup.sql 备份指定的一个或多个数据库 mysqldump --dat ...
- Oracle获取session的IP方法
方法1 创建触发器: create orreplace trigger login_on alfterlogon on database begin dbms_application_info ...
- AQS之ReentrantReadWriteLock精讲分析上篇
1.用法 1.1 定义一个安全的list集合 public class LockDemo { ArrayList<Integer> arrayList = new ArrayList< ...
- CVE-2018-1273 Spring Data Commons 远程命令执行漏洞复现
一.漏洞描述 Spring Data是一个用于简化数据库访问,并支持云服务的开源框架,Spring Data Commons是Spring Data下所有子项目共享的基础框架.Spring Data ...