在Docker中运行MySql

MySQL 官方也提供了各种版本的MySQL Image来供用户使用,我们可以使用如下命令来创建并运行一个MySQL Image:

docker run -it -p : --name mysqldb -e MYSQL_ROOT_PASSWORD=root mysql:latest

其中,-e MYSQL_ROOT_PASSWORD指定MYSQL Root用户的密码。

除此之外,可用的选项还有:MYSQL_ROOT_PASSWORD、MYSQL_DATABASE、MYSQL_USER、MYSQL_PASSWORD、MYSQL_ALLOW_EMPTY_PASSWORD等。具体的可以查阅资料:https://hub.docker.com/_/mysql/

PS:Mysql镜像体积相对较大,由于国内众所周知的原因,我们可能下载的非常慢,我们可以使用DaoCloud提供的镜像加速服务,需要先登录官网注册一下http://www.daocloud.io/ ,然后到了控制台之后,上方有个加速器按钮,执行一下他给的那个命令就好了,大概就是curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://你的ID.m.daocloud.io,据说每个用户每个月是10GB的流量,一般来说,足矣~

验证你运行在Docker中的Mysql

运行完上面的命令,经过一段时间的等待,如果正常的话,Mysql镜像就已经运行运行起来了。

方法一:通过Mysql可视化连接工具

我们可以使用Mysql工具来验证,直接使用你Linux服务器的ip,通过3306端口和root用户去访问你运行在Docker中的Mysql数据库吧(突然感觉以后想用啥数据库,Docker里面跑个image就好了,简直爽的无法无天)~

方法二:通过mysql命令行验证

除了可视化工具,我们还可以通过Mysql的命令行工具来验证我们的Mysql服务是否正常在运行,但是因为我们的Docker在容器运行起来之后,这个shell就被他“霸占”了,我们不管敲啥,他这个shell都用不了~

  • 首先需要通过快捷键:ctrl+p+q来返回宿主机的shell界面
  • 然后我们可以通过docker exec来重启一个shell操作你正在运行的Mysql容器,我们先通过docker ps查询到Mysql容器的Container ID,然后执行命令:docker exec –it  ContainerID /bin/bash 来新建一个shell UI

使用Docker exec命令可以执行Container中的一些命令,这里的/bin/bash代表的就是linux的shell程序

  • 进入shell界面之后,我们通过命令mysql -uroot --p来进入mysql的管理界面,输入命令之后,系统会提示你输入mysql root账户的密码,输入我们在运行这个容器时候设定的密码即可
  • 输入show databases;命令来查询Msyql中现有的数据库查询结果大概如下(注意每个命令后面必须加分号):
  • 最后我们可以通过exit命令推出mysql管理控制台

方法三:新建一个container来访问mysql并验证

这个方法大概与方法二相同,我们还可以用另外一个Container,来通过Mysql命令行来操作我们的数据库。我们需要用到Link命令来建立两个容器直接的联系,

$ docker run -it --name jb91linkmysql --link jb91db:mysql --rm mysql:5.5. sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'

其中 --rm 指:完成操作后停止容器并从文件系统移除

sh 指执行后面的脚本,-c就是所要执行的命令(command)

【Step By Step】将Dotnet Core部署到Docker(中)的更多相关文章

  1. 【Step By Step】将Dotnet Core部署到Docker下

    一.使用.Net Core构建WebAPI并访问Docker中的Mysql数据库 这个的过程大概与我之前的文章<尝试.Net Core—使用.Net Core + Entity FrameWor ...

  2. 【Step By Step】将Dotnet Core部署到Docker上

    本教程的前提是,你已经在Linux服务器上已经成功的安装了Docker,我会大概介绍在此过程中用到的Docker命令,并不会介绍所有的Docker命令(因为我也不会). 一.在Docker中运行Dot ...

  3. .net core Ocelot实现API网关并部署在docker中

    基于Ocelot(http://ocelot.readthedocs.io)搭建的API网关demo 软件以及系统版本:  Asp.Net Core 2.2 Ocelot 13.5.0 CentOS ...

  4. Asp.Net Core WebAPI+PostgreSQL部署在Docker中

     PostgreSQL是一个功能强大的开源数据库系统.它支持了大多数的SQL:2008标准的数据类型,包括整型.数值值.布尔型.字节型.字符型.日期型.时间间隔型和时间型,它也支持存储二进制的大对像, ...

  5. .NET core 部署到Docker +Docker Protainer管理实现

    .NET core 部署到Docker +Docker Protainer管理实现 上次说到将.net core的应用程序发布到Linux中(https://www.cnblogs.com/Super ...

  6. 我用asp.net core 部署到docker遇到的问题

    1.怎么部署 我是用文件的形式先发布出来,然后把文件拷贝到服务器上部署到docker中去. 2.端口映射 根据查找到的资料,dockerfile 是不支持指定映射服务器端口的,只能在run的时候用-p ...

  7. ASP.NET Core 网站在Docker中运行

    Docker作为新一代的虚拟化方式,未来肯定会得到广泛的应用,传统虚拟机的部署方式要保证开发环境.测试环境.UAT环境.生产环境的依赖一致性,需要大量的运维人力,使用Docker我们可以实现一次部署, ...

  8. 把ABP框架部署到Docker中

    本文旨在将Abp项目部署到Docker容器中,借助Gitee存储,Jenkins持续构建,利用Docker Compose生成镜像.启动镜像,在官网给定的Abp项目中,虽然用到了Dockerfile. ...

  9. dotnet core部署方式两则:CLI、IIS

    最近在使用dotnet core研究整个开发过程,使用下面两种方式部署: 一,使用 dotnet run 命令运行 在项目路径,shift+右键,选择 “在此处打开命令窗口”,在CMD窗口中运行“do ...

随机推荐

  1. SqlServer 2005升级至SqlServer 2008 解析Json 字符集问题

    如果你数据库是通过sqlserver 2008以上版本创建的请绕过: 客户以前用的是sqlserver2005 创建的数据库.后来升级到 sqlserver 2008 . 有个业务用到了json查询 ...

  2. react父子组件各自生命周期函数加载的先后顺序

    理解记忆总结: 父组件即将挂载(最外层的父组件都还没准备进入,其内部的子组件当然更没进入了) -> 子组件即将挂载  -> 子组件挂载完成(父内部都没完成,父当然不能算完成)  -> ...

  3. System Monitor ArcGIS系统监控利器

    System Monitor是Esri推出的GIS系统监控工具,对于GIS数据中心的运维人员是难得的利器.早期版本是开源免费的解决方案,在今年的Esri 全球用户大会上,Esri宣布将发行商业版的Sy ...

  4. 【转】使用expect实现shell自动交互

    原文地址:http://www.nginx.cn/1934.html shell脚本需要交互的地方可以使用here文档是实现,但是有些命令却需要用户手动去就交互如passwd.scp 对自动部署免去用 ...

  5. apply方法和call方法的详解2

    1.apply和call的区别在哪里 2.什么情况下用apply,什么情况下用call 3.apply的其他巧妙用法(一般在什么情况下可以使用apply) 我首先从网上查到关于apply和call的定 ...

  6. 第十五章——自编码器(Autoencoders)

    自编码器是一种能够通过无监督学习,学到输入数据高效表示的人工神经网络.输入数据的这一高效表示称为编码(codings),其维度一般远小于输入数据,使得自编码器可用于降维(查看第八章).更重要的是,自编 ...

  7. sql查询学习和实践点滴积累

    https://blog.rjmetrics.com/2008/10/28/correlated-subqueries-in-mysql/ http://www.mysqltutorial.org/m ...

  8. angular based app开发流程

    整理user story mock UI,生成满足上述user story的原型界面 根据上述UI,整理出data model(适用于后端和angular的数据模型) 后端CRUD开发,形成REST ...

  9. Django中请求的生命周期 和 FBV模式和CBV模式

    Django的生命周期就是你的 一个请求所发生的整个流程 Django的生命周期内到底发生了什么呢?? . 当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端 请求头和请求体中会包含浏 ...

  10. Java学习---JBPM[工作流]学习

    点击参考 更多参考 链接:https://pan.baidu.com/s/1A1AH5sXu7yhV3mncpH4Z6w 密码:88zw