Docker学习3-简单shell脚本安装mysql5.7与docker小技巧
前言
玩过Windows中的 .bat 的小伙伴是不是觉得很有意思呢,github中一键推送、同步拉取等等操作,哈哈,当然shell脚本也是很类似,可以运行一个脚本就可以自动给我们部署好环境啦!但是这还只是简单的shell脚本,还有更高级的等你来探索哦!
一、简单剖析docker安装mysql5.7
1.在前面笔记中我们已经安装好了docker和mysql5.7,这里我们先回顾一下docker的安装步骤:
|
# 1.安装系统依赖工具 # 2.yum的配置管理docker软件源地址 # 3.更新 yum 缓存 # 4.安装docker # 5.启动docker服务 # 6.加入开机启动项 |
2.mysql 5.7安装步骤,完成后 Navicat 连接下就好啦(你喜欢用什么就用什么连接):
|
# 1.安装mysql首先 mkdir 一个挂载目录mysql下的conf、data、logs,默认在此路径) # 2.docker pull镜像 安装 mysql5.7 默认3306端口,密码:xxxx自行设置,目录:~/mysql/ |

二、简单编写shell脚本一键部署mysql 5.7
1.上面我们发现都是以一些下载、安装命令来完成环境搭建的,那我用vi创建一个install文件。
①vi install 然后按键 i 进入编辑模式,将上面的命令全部粘贴

②复制后,按 Esc 键退出编辑模式,再按 :wq 回车退出vi编辑器

2.完成简单shell脚本后,我们就可以用执行命令运行脚本: . ~/install
| [root@iZbp19lugf22zbsubsf1y6Z ~]# . ~/install |
注意看这里有技巧:因为我这里已经安装过了,就不需要再执行了,小伙伴们不妨去试试吧。这里还有一个docker安装的小技巧,我们一般需要先pull一个镜像,但是小编发现已安装docker的前提下可直接运行,如安装mysql5.7,输入:
| docker run -p 3306:3306 --name hrun_mysql -v ~/mysql/conf:/etc/mysql/conf.d -v ~/mysql/data:/var/lib/mysql -v ~/mysql/logs:/logs -e MYSQL_ROOT_PASSWORD=xxxx -d mysql:5.7 |
你会发现docker自动给你下载mysql5.7,不再需要输入docker pull mysql5.7,另外也不需要再创建目录:~/mysql/conf、~/mysql/data、~/mysql/log。运行mysql5.7容器时自动给你建好了,直接使用行啦,是不是觉得棒棒哒?
三、以 jenkins 为实例演示
1.首先自检一下我的镜像是否有 jenkins,显然是没有的。
|
[root@iZbp19lugf22zbsubsf1y6Z ~]# docker images |
2.常规部署 jenkins docker命令如下:
|
# 创建映射jenkins目录 # 下载jenkins 镜像 # 运行jenkins 容器 # 这里是查看 jenkins 的激活密码 |
3.骚操作如下:
|
# 直接运行jenkins 容器 # 这里是查看 jenkins 的激活密码 |
这时候发现在自动下载jenkins镜像,等待下载完成就自动运行容器了(可以放开双手了):

下载完成后便会自动运行容器了:
| [root@iZbp19lugf22zbsubsf1y6Z ~]# docker run -d -p 3006:8080 -p 50000:50000 -v ~/jenkins:/var/jenkins -v /etc/localtime:/etc/localtime --name jenkins jenkinsUnable to find image 'jenkins:latest' locally
latest: Pulling from library/jenkins |
便可以查看到jenkins 已经在运行了,输入:docker ps

Docker学习3-简单shell脚本安装mysql5.7与docker小技巧的更多相关文章
- 用shell脚本安装MySQL-5.7.22-官方版本
Install_CentOS7_MySQL57_binary.sh #!/bin/bash MySQL_Package=mysql-5.7.22-linux-glibc2.12-x86_64.tar. ...
- 用shell脚本安装MySQL-5.7.22-Percona版本
#!/bin/bash MySQL_Package=Percona-Server-5.7.22-22-Linux.x86_64.ssl101.tar.gz Package_Source=Percona ...
- 用shell脚本安装MySQL-5.7.22-官方版本多实例
Install_CentOS7_MySQL57_multi_instance.sh #!/bin/bash #请提前准备好参数文件my.cnf PORT=3307 InitMySQL() { mkdi ...
- 对于shell脚本参数获取时的一点小技巧
问题如下: 根据脚本参数的个数$#进行一个循环,在依次输出每个参数$1 $2 $3...... 我有一个循环变量i $i 取到这时的i为1,我想使用这个1再去调用$1,也是就是打印出第一个参数 就是$ ...
- 查看当前支持的shell,echo -e相关转义符,一个简单shell脚本,dos2unix命令把windows格式转为Linux格式
/etc/shells [root@localhost ~]# more /etc/shells /bin/sh /bin/bash /sbin/nologin /usr/bin/sh /usr/bi ...
- Linux学习-->如何通过Shell脚本实现发送邮件通知功能?
1.安装和配置sendmail 不需要注册公网域名和MX记录(不需要架设公网邮件服务器),通过Linux系统自带的mail命令即可对公网邮箱发送邮件.不过mail命令是依赖sendmail的,所以我们 ...
- Shell基础(一):Shell基础应用、简单Shell脚本的设计、使用Shell变量、变量的扩展应用
一.Shell基础应用 目标: 本案例要求熟悉Linux Shell环境的特点,主要练习以下操作: 1> 切换用户的Shell环境 2> 练习命令历史.命令别名 3 ...
- 简单shell脚本
简单shell脚本备忘 #!/bin/sh num= ] do table_num=`printf %03d ${num}` echo album_info_${table_num} #mys ...
- Git学习-->如何通过Shell脚本实现 监控Gitlab备份整个过程并且通过邮件通知得到备份结果?
一.背景 Git学习–>如何通过Shell脚本自动定时将Gitlab备份文件复制到远程服务器? http://blog.csdn.net/ouyang_peng/article/details/ ...
随机推荐
- log4j日志不输出的问题
今天服务器上报错,想先去看一下日志进行排查,结果发现日志很久都没有输出过了.从上午排查到下午,刚刚解决,因此记录一下,但现在也只是知其然,并不知其所以然,所以如果大家有什么想法请在下方评论. 先说一下 ...
- centos7 supervisor管理redis
centos7 supervisor管理redis 标签(空格分隔): linux,redis 概念 Supervisor 相当强大,提供了很丰富的功能,不过我们可能只需要用到其中一小部分 super ...
- Java8 Streams 让集合操作飞起来
前言 接上篇文章 java8 新特性 由于上篇过于庞大,使得重点不够清晰,本篇单独拿出 java8 的 Stream 重点说明 ,并做了点补充. 基本说明 Stream 是基于 java8 的 lam ...
- 基于Docker搭建大数据集群(六)Hive搭建
基于Docker搭建大数据集群(六)Hive搭建 前言 之前搭建的都是1.x版本,这次搭建的是hive3.1.2版本的..还是有一点细节不一样的 Hive现在解析引擎可以选择spark,我是用spar ...
- 后端(spring boot)解决跨区域问题
一.环境: 前端 vue element-ui 后端:spring boot 工具:IDEA Maven Node 数据库:MySql 二.首先我们需要了解什么叫跨区域访问问题 跨区域访问是指:不同域 ...
- Java匹马行天下之Java帝国的崛起(大结局)
Java匹马行天下之Java帝国的崛起大结局 前言: [博客*缘] 网络真情伴, 博客友谊连. 笑中藏泪暖中寒. 回想那些悲喜, 苦涩也缠绵. 往事难回首, 新篇染旧言. 世间多少梦能全. 感谢相牵, ...
- 2019-2020-1 20199303<Linux内核原理与分析>第二周作业
2019-2020-1 20199303第二周作业 1.汇编与寄存器的学习 寄存器是中央处理器内的组成部份.寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令.数据和位址.在中央处理器的控制部件中 ...
- 2019 SD卡、U盘无法格式化怎么办的解决方法
有天 闲的没事, 格式化一下U盘 ,结果突然断电了,我的天.我还在格式化的U盘 ,果然 ,我在此启动电脑后,的U盘直接 就不能用了.于是 我格式化. 然后,我的U盘就怎么也格式化不好了 ,找到了几种解 ...
- node环境及vscode搭建
软件下载: nodejs https://nodejs.org/en/ vscode https://code.visualstudio.com/docs/?dv=win python-2.7.15 ...
- C语言I博客作业
|这个作业属于哪个课程 | C语言程序设计I | | ---- | ---- | |对这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2019-2 ...