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 ...
随机推荐
- 单细胞分析实录(1): 认识Cell Hashing
这是一个新系列 差不多是一年以前,我定导后没多久,接手了读研后的第一个课题.合作方是医院,和我对接的是一名博一的医学生,最开始两边的老师很排斥常规的单细胞文章思路,即各大类细胞分群.注释.描述,所以起 ...
- 第八章节 BJROBOT hector 算法构建地图【ROS全开源阿克曼转向智能网联无人驾驶车】
1.把小车平放在地板上,用资料里的虚拟机,打开一个终端 ssh 过去主控端启动roslaunch znjrobot bringup.launch. 2.在虚拟机端打开一个终端,ssh 过去主控端启动r ...
- 索引失效 -- 使用Between范围查询时
需求说明 产品需要统计一段时间范围内每月用户的注册人数(根据用户信息表中的创建时间),需要我通过SQL导出数据,但是数据量太大,导出需要20多秒,于是我尝试在创建时间字段中加索引,但是发现加了索引后索 ...
- Linux设置系统时区
https://www.xlsys.cn/1741.html 如果你的 Linux 系统时区配置不正确,必需要手动调整到正确的当地时区.NTP 对时间的同步处理只计算当地时间与 UTC 时间的偏移量, ...
- Head First 设计模式 —— 11. 组合 (Composite) 模式
思考题 我们不仅仅要支持多个菜单,升值还要支持菜单中的菜单.你如何处理这个新的设计需求? P355 [提示]在我们的新设计中,真正需要以下三点: P354 我们需要某种属性结构,可以容纳菜单.子菜单和 ...
- Selenium WebDriver 8大定位方式
Selenium WebDriver 8大定位方式: driver.find_element_by_id() driver.find_element_by_name() driver.find_ele ...
- spring cloud config —— git配置管理
目录 talk is cheep, show your the code Server端 pom.xml server的application.yml 配置文件 测试Server client端 po ...
- 【Linux】linux的所有文件分类解析
今天看书的时候,无意间看到/dev/文件夹,以前没注意,今天去看了下发现,很多文件的开头文件属性都是一些不怎么见到的 常见的是 - 这个是代表文件,可以vim编辑的 d 这个是代表 ...
- 训练分类器 - 基于 PyTorch
训练分类器 目前为止,我们已经掌握了如何去定义神经网络.计算损失和更新网络中的权重. 关于数据 通常来讲,当你开始处理图像.文字.音频和视频数据,你可以使用 Python 的标准库加载数据进入 Num ...
- Ice系列--傻瓜式服务开发IceBox
前言 相信大家在没有接触过框架之前,都自己或多或少的开发过一些应用服务.每个应用服务除了业务配置还有很多环境配置,资源配置等,这些跟部署相关的配置.服务跟配置文件是一种静态绑定的方式,更新配置还需要重 ...