本文以安装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镜像相关推荐

  1. CentOS安装指定版本的Mysql

    笔者使用的系统是CentOS 6.5 , 使用yum安装mysql的默认版本是5.1,如果想安装指定版本的mysql,可以通过本帖的方式进行.本文以安装MySQL 5.6为例进行说明. 1.从mysq ...

  2. docker安装指定版本的tag镜像

    在docker中安装镜像,一般过程是,docker search 软件名称. 本文以tomcat为例,讲解下载指定版本TAG的jdk. 搜索jdk镜像 发现只有tomcat,而如果docker pul ...

  3. CentOS 6.9/7通过yum安装指定版本的MySQL

    一.安装 # wget http://repo.mysql.com/mysql57-community-release-el6.rpm && rpm -ivh mysql57-comm ...

  4. upgrade yum 指定版本_CentOS 6.9/7通过yum安装指定版本的MySQL

    一.安装CENTOS 6 # wget http://repo.mysql.com/mysql57-community-release-el6.rpm && rpm -ivh mysq ...

  5. linux安装指定mysql版本安装,linux yum安装指定版本mysql

    1.下载mysql rpm包 cd /usr/local/src wget https://dev.mysql.com/get/mysql80-community-release-el7-.noarc ...

  6. centos下安装mysql选什么版本_CentOS 7 安装MySQL 5.7 或安装指定版本MySQL-Go语言中文社区...

    1 摘要 目前(2019)年,MySQL 的最新版本为 MySQL 8.0 ,然而很多项目中依然使用的是 MySQL 5.7,个人开发环境中为了和线上项目数据库保持一致,也需要安装相同版本的 MySQ ...

  7. centos 安装指定版本gc_番外篇 (1) Docker 安装

    # step 1: 安装必要的一些系统工具 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # Step 2: 添加软 ...

  8. Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本)...

    Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本) Hive 安装依赖 Hadoop 的集群,它是运行在 Hadoop 的基础上. 所以在安装 Hive 之 ...

  9. brew安装指定版本mysql,Mac 系统为 Valet 开发环境安装指定版本 MySQL

    Mac 系统为 Valet 开发环境安装指定版本 MySQL 由 学院君 创建于1年前, 最后更新于 5个月前 版本号 #3 1547 views 1 likes 0 collects 在 Mac 系 ...

最新文章

  1. php查找函数所在文件
  2. linux 用户和权限管理
  3. 工业机器人调运角度_工业机器人如何精准选型,这九大参数告诉你!
  4. 合集| 21 篇技术文章,带你从零入门 K8s
  5. SpingBoot+Mybaits+Vue,更新学习
  6. [Node.js] 模块化 -- 中间件和跨域
  7. 使用setuptools和cython打包python程序的时候遇到:Microsoft visual c++ 14.0 is required问题解决办法
  8. python scrapy框架爬虫当当图书网
  9. js几种生成随机颜色方法
  10. Mac 重装 Apache 后中文目录乱码
  11. json字符串-单、双引号
  12. php版ueditor配置_ThinkPHP配置UEditor
  13. ESP8266在局域网和互联网下的使用
  14. 将博客搬至CSDN_拔剑-浆糊的传说_新浪博客
  15. 鼠标手势插件--smartUp
  16. 人脸识别-----Olivetti Faces人脸数据集合处理
  17. 索尼机型刷机不用愁 带你玩转一键解锁
  18. 天敏VC4000调试
  19. 2022亚马逊云科技re:Invent全球大会即将启幕
  20. QuteCom手记:Phapi/exosip事件①拨号INVITE

热门文章

  1. 计算机网络基础这门课的介绍,课程介绍
  2. “天才少年”稚晖君宣布离职再创业 !
  3. Python语言有哪些特点?3分钟了解
  4. 思科无边界ip电话配置方案
  5. ABP学习一(.Net6 API 整合 ABP)
  6. 使用eclipse的时候突然鼠标光标变成黑色小方块
  7. 二次贝塞尔曲线转换为三次贝塞尔曲线
  8. [Java基础]-- java char基本数据类型
  9. 教师招聘说课视频初中计算机,教师资格证面试说课备考—初中计算机说课稿《工作表》...
  10. COSCon'22 元宇宙参会指南来啦!