docker入门实践,安装指定版本的mysql镜像
本文以安装mysql5.7为例
查找镜像仓库
含有mysql关键字的记录,这里选择了stars最高,即第1条
$ docker search mysql
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 8147 [OK]
mariadb MariaDB is a community-developed fork of MyS… 2775 [OK]
mysql/mysql-server Optimized MySQL Server Docker images. Create… 607 [OK]
zabbix/zabbix-server-mysql Zabbix Server with MySQL database support 192 [OK]
hypriot/rpi-mysql RPi-compatible Docker Image with Mysql 113
zabbix/zabbix-web-nginx-mysql Zabbix frontend based on Nginx web-server wi… 101 [OK]
centurylink/mysql Image containing mysql. Optimized to be link… 60 [OK]
centos/mysql-57-centos7 MySQL 5.7 SQL database server 53
1and1internet/ubuntu-16-nginx-php-phpmyadmin-mysql-5 ubuntu-16-nginx-php-phpmyadmin-mysql-5 50 [OK]
mysql/mysql-cluster Experimental MySQL Cluster Docker images. Cr… 44
tutum/mysql Base docker image to run a MySQL database se… 32
zabbix/zabbix-web-apache-mysql Zabbix frontend based on Apache web-server w… 29 [OK]
schickling/mysql-backup-s3 Backup MySQL to S3 (supports periodic backup… 27 [OK]
bitnami/mysql Bitnami MySQL Docker Image 26 [OK]
zabbix/zabbix-proxy-mysql Zabbix proxy with MySQL database support 22 [OK]
linuxserver/mysql A Mysql container, brought to you by LinuxSe… 20
centos/mysql-56-centos7 MySQL 5.6 SQL database server 13
mysql/mysql-router MySQL Router provides transparent routing be… 11
circleci/mysql MySQL is a widely used, open-source relation… 11
openshift/mysql-55-centos7 DEPRECATED: A Centos7 based MySQL v5.5 image… 6
dsteinkopf/backup-all-mysql backup all DBs in a mysql server 6 [OK]
jelastic/mysql An image of the MySQL database server mainta… 1
cloudposse/mysql Improved `mysql` service with support for `m… 0 [OK]
widdpim/mysql-client Dockerized MySQL Client (5.7) including Curl… 0 [OK]
ansibleplaybookbundle/mysql-apb An APB which deploys RHSCL MySQL 0 [OK]
还需要进一步查看mysql镜像有哪些版本
$ docker-tags mysql
IMAGE [mysql:]:
mysql:latest
mysql:5
mysql:5.5.40
mysql:5.5.41
mysql:5.5.42
mysql:5.5.43
mysql:5.5.44
mysql:5.5.45
mysql:5.5.46
mysql:5.5.47
mysql:5.5.48
mysql:5.5.49
mysql:5.5.50
mysql:5.5.51
mysql:5.5.52
mysql:5.5.53
mysql:5.5.54
mysql:5.5.55
mysql:5.5.56
mysql:5.5.57
mysql:5.5.58
mysql:5.5.59
mysql:5.5.60
mysql:5.5.61
mysql:5.5.62
mysql:5.6
mysql:5.6.17
mysql:5.6.20
mysql:5.6.21
mysql:5.6.22
mysql:5.6.23
mysql:5.6.24
mysql:5.6.25
mysql:5.6.26
mysql:5.6.27
mysql:5.6.28
mysql:5.6.29
mysql:5.6.30
mysql:5.6.31
mysql:5.6.32
mysql:5.6.33
mysql:5.6.34
mysql:5.6.35
mysql:5.6.36
mysql:5.6.37
mysql:5.6.38
mysql:5.6.39
mysql:5.6.40
mysql:5.6.41
mysql:5.6.42
mysql:5.6.43
mysql:5.6.44
mysql:5.7
mysql:5.7.10
mysql:5.7.11
mysql:5.7.12
mysql:5.7.13
mysql:5.7.14
mysql:5.7.15
mysql:5.7.16
mysql:5.7.17
mysql:5.7.18
mysql:5.7.19
mysql:5.7.20
mysql:5.7.21
mysql:5.7.22
mysql:5.7.23
mysql:5.7.24
mysql:5.7.25
mysql:5.7.26
mysql:5.7.4
mysql:5.7.4-m14
mysql:5.7.5
mysql:5.7.5-m15
mysql:5.7.6
mysql:5.7.6-m16
mysql:5.7.7
mysql:5.7.7-rc
mysql:5.7.8
mysql:5.7.8-rc
mysql:5.7.9
mysql:8
mysql:8.0
mysql:8.0.0
mysql:8.0.1
mysql:8.0.11
mysql:8.0.12
mysql:8.0.13
mysql:8.0.14
mysql:8.0.15
mysql:8.0.16
mysql:8.0.2
mysql:8.0.3
mysql:8.0.4
mysql:8.0.4-rc
备注:这里的docker-tags是自己写的脚本,附脚本内容:
#!/bin/bashAPI="https://registry.hub.docker.com/v1/repositories"
DEFAULT_NAME="nginx"
DEFAULT_TIMEOUT=3function Usage(){
cat << HELPUsage: docker-tags NAME[:TAG]docker-tags list all tags for docker image on a remote registry.Example:docker-tags (default nginx)docker-tags nginxdocker-tags nginx:1.15.8docker search nginx | docker-tagsdocker search nginx | docker-tags :1.15.8echo nginx | docker-tagsecho nginx | docker-tags :1.15.8
HELP
}ARG=$1
if [[ "$ARG" =~ "-h" ]];thenUsageexit 0
fifunction ParseJson(){tr -d '[\[\]" ]' | tr '}' '\n' | awk -F: -v image=$1 '{if(NR!=NF && $3 != ""){printf("%s:%s\n",image,$3)}}'
}function GetTags(){image=$1tag=$2ret=`curl -s ${API}/${image}/tags`tag_list=`echo $ret | ParseJson ${image}`if [ -z "$tag" ];thenecho -e "$tag_list"elseecho -e "$tag_list" | grep -w "$tag"fi
}if [ -z $ARG ] || [[ ${ARG:0:1} == ":" ]];thenif [ -x /usr/bin/timeout ];thenimages=`timeout $DEFAULT_TIMEOUT` awk '{print $1}' | grep -v "NAME" || echo $DEFAULT_NAMEelseimages=`awk '{print $1}' | grep -v "NAME"`fi
elseimages=`echo $ARG | awk -F: '{print $1}'`
fi
tag=`echo $ARG | awk -F: '{print $2}'`for i in ${images}
dotags=`GetTags $i $tag`count=`echo $tags | wc -w`if [[ $count -gt 0 ]];thenecho -e "IMAGE [$i:$tag]:"echo -e "$tags"echofi
done
另外如果不使用命令的方式查看tag的话也可以打开浏览器,访问如下网址https://hub.docker.com/_/mysql?tab=tags进行获取
安装自己需要的版本
docker pull mysql:5.7docker run -p 3317:3306 --name mysql57 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7说明:
-p 3316:3306 是把容器的3306端口映射到本机的3316端口
–name 是给运行的容器一个别名
-e MYSQL_ROOT_PASSWORD=123456 是初始化 MySQL 的密码
#测试
mysql -h127.0.0.1 -P 3317 -uroot -p123456
目前还不能成功执行,需要进入容器设置权限
docker exec -it mysql57 bash
进入容器后执行
# mysql -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.26 MySQL Community Server (GPL)Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>
mysql>update mysql.user set host="%" where user="root";
mysql> flush privileges;
OK,这样我们退出容器,在宿主机上执行mysql -h127.0.0.1 -P 3317 -uroot -p123456
就没有问题了。
附mysql安装完毕后通常需要建库建用户,一并提供了
CREATE DATABASE dnscheater ;
CREATE USER 'test'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON dnscheater.* to 'test'@'%';
进阶待续
挂载外部配置和数据目录
参考文章:
https://blog.csdn.net/u014542256/article/details/84327903
https://blog.csdn.net/woniu211111/article/details/80968154
docker入门实践,安装指定版本的mysql镜像相关推荐
- CentOS安装指定版本的Mysql
笔者使用的系统是CentOS 6.5 , 使用yum安装mysql的默认版本是5.1,如果想安装指定版本的mysql,可以通过本帖的方式进行.本文以安装MySQL 5.6为例进行说明. 1.从mysq ...
- docker安装指定版本的tag镜像
在docker中安装镜像,一般过程是,docker search 软件名称. 本文以tomcat为例,讲解下载指定版本TAG的jdk. 搜索jdk镜像 发现只有tomcat,而如果docker pul ...
- CentOS 6.9/7通过yum安装指定版本的MySQL
一.安装 # wget http://repo.mysql.com/mysql57-community-release-el6.rpm && rpm -ivh mysql57-comm ...
- upgrade yum 指定版本_CentOS 6.9/7通过yum安装指定版本的MySQL
一.安装CENTOS 6 # wget http://repo.mysql.com/mysql57-community-release-el6.rpm && rpm -ivh mysq ...
- linux安装指定mysql版本安装,linux yum安装指定版本mysql
1.下载mysql rpm包 cd /usr/local/src wget https://dev.mysql.com/get/mysql80-community-release-el7-.noarc ...
- centos下安装mysql选什么版本_CentOS 7 安装MySQL 5.7 或安装指定版本MySQL-Go语言中文社区...
1 摘要 目前(2019)年,MySQL 的最新版本为 MySQL 8.0 ,然而很多项目中依然使用的是 MySQL 5.7,个人开发环境中为了和线上项目数据库保持一致,也需要安装相同版本的 MySQ ...
- centos 安装指定版本gc_番外篇 (1) Docker 安装
# step 1: 安装必要的一些系统工具 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # Step 2: 添加软 ...
- Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本)...
Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本) Hive 安装依赖 Hadoop 的集群,它是运行在 Hadoop 的基础上. 所以在安装 Hive 之 ...
- brew安装指定版本mysql,Mac 系统为 Valet 开发环境安装指定版本 MySQL
Mac 系统为 Valet 开发环境安装指定版本 MySQL 由 学院君 创建于1年前, 最后更新于 5个月前 版本号 #3 1547 views 1 likes 0 collects 在 Mac 系 ...
最新文章
- php查找函数所在文件
- linux 用户和权限管理
- 工业机器人调运角度_工业机器人如何精准选型,这九大参数告诉你!
- 合集| 21 篇技术文章,带你从零入门 K8s
- SpingBoot+Mybaits+Vue,更新学习
- [Node.js] 模块化 -- 中间件和跨域
- 使用setuptools和cython打包python程序的时候遇到:Microsoft visual c++ 14.0 is required问题解决办法
- python scrapy框架爬虫当当图书网
- js几种生成随机颜色方法
- Mac 重装 Apache 后中文目录乱码
- json字符串-单、双引号
- php版ueditor配置_ThinkPHP配置UEditor
- ESP8266在局域网和互联网下的使用
- 将博客搬至CSDN_拔剑-浆糊的传说_新浪博客
- 鼠标手势插件--smartUp
- 人脸识别-----Olivetti Faces人脸数据集合处理
- 索尼机型刷机不用愁 带你玩转一键解锁
- 天敏VC4000调试
- 2022亚马逊云科技re:Invent全球大会即将启幕
- QuteCom手记:Phapi/exosip事件①拨号INVITE
热门文章
- 计算机网络基础这门课的介绍,课程介绍
- “天才少年”稚晖君宣布离职再创业 !
- Python语言有哪些特点?3分钟了解
- 思科无边界ip电话配置方案
- ABP学习一(.Net6 API 整合 ABP)
- 使用eclipse的时候突然鼠标光标变成黑色小方块
- 二次贝塞尔曲线转换为三次贝塞尔曲线
- [Java基础]-- java char基本数据类型
- 教师招聘说课视频初中计算机,教师资格证面试说课备考—初中计算机说课稿《工作表》...
- COSCon'22 元宇宙参会指南来啦!