在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. js串结构

    朴素匹配算法 //S 主串 T 模式串 //匹配失败,回溯 i = i - j + 1 j = 0 //匹配成功,返回位置 i - j function indexOf(S,T,pos = 0){ l ...

  2. Django中用Jquery实现不刷新页面进行身份验证和计算器功能

    1.下载jquery http://www.jq22.com/jquery-info122 下载解压之后加入工程中的static文件夹中 2.路由分发. """Djang ...

  3. c++实现全密码生成

    这里所谓的“全密码”指的是指定字符串中所有可能出现的密码.以字符串“0123456789”为例,可能出现的2位密码会有100个,即L^N个.(L代表字符串的长度,N代表要生成密码的位数). 第一种方法 ...

  4. js如何获取response header信息

    信息转自网上 普通的请求JS无法获取,只有ajax请求才能获取到. $.ajax({ type: 'HEAD', // 获取头信息,type=HEAD即可 url : window.location. ...

  5. Android知识点滴

    今天,把新作的布局状态魅族机上进行测试 发现了一个BUG,造成闪退. 看了下log,一个布局造成的. 开始分析这个布局造成这个问题的原因. 开始艰难的调试过程. 代码注释大法,发现这个问题是一个tex ...

  6. minimal sparse ruler problem 最少尺子刻度问题

    一个长度13的尺子,如果在1位置刻点可以量出1和12,13三种刻度.那么至少刻几个点,可以直接量出1-13所有的长度,分别刻在哪几个位置? 注:必须是直接量.即在尺子上能找出一个1-13任意的整数长度 ...

  7. Nginx学习---Nginx的详解_【all】

    1.1. Nginx简介 1.什么是nginx nginx:静态的,开源的www软件,可以解析静态的小文件(低于1M ),支持高并发占用较发少的资源(3W并发,10个进程,内存150M),跨平台 te ...

  8. window下使用SetUnhandledExceptionFilter捕获让程序的崩溃(转)

    简单使用SetUnhandledExceptionFilter()函数让程序优雅崩溃 虽然是大公司的产品,QQ它还是会在我们的折腾下崩溃的,但是它总是崩溃的很优雅,还要弹出自己的对话框来结束.并且发送 ...

  9. 左右值无限级分类 MVC + EntityFramework 的简单实现

    在度娘上查了大半个月的资料,最后发现每个网友分享的文章都有一定的错误(PS:大家是故意的么?).最后是在看了一个ASP版本后知道了大概流程:看了一个存储过程实现的文章后知道了大概需要的功能:看了一个S ...

  10. CXF+JAXB处理复杂数据

    CXF+JAXB处理复杂数据   CXF默认使用JAXB 来实现对象和XML之间的映射.在前面的例子 中,使用CXF发布的Webservice,其方法的参数和返回值都是简单类型. 本文讨论对象复杂性的 ...