在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. 一个简单IOC与DI示例

    1.通过bean工厂实现读取xml文件,并实例化对象,实现自动注入. package com.pri.test; import com.pri.factory.BeanFactory; import ...

  2. JavaScript : Array assignment creates reference not copy

    JavaScript : Array assignment creates reference not copy 29 May 2015 Consider we have an array var a ...

  3. 交叉编译 Cross-compiling for Linux

    @(134 - Linux) Part 1 交叉编译简介 1.1 What is cross-compiling? 对于没有做过嵌入式编程的人,可能不太理解交叉编译的概念,那么什么是交叉编译?它有什么 ...

  4. PHP计算近1年的所有月份

    $z = date('Y-m'); $a = date('Y-m', strtotime('-12 months')); $begin = new DateTime($a); $end = new D ...

  5. Maven 安装 eclispe

    -Dmaven.multiModuleProjectDirectory=$M2_HOME

  6. 在centos6.x上安装teamviewer

    首先下载公钥: # wget http://www.teamviewer.com/link/?url=354858 # rpm --import TeamViewer_Linux_PubKey.asc ...

  7. 2.MySQL 数据类型

    MySQL 数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的. MySQL支持多种类型,大致可以分为三类:数值.日期/时间和字符串(字符)类型. 数值类型 MySQL支持所有标准S ...

  8. 使用 Azure PowerShell 将 IaaS 资源从经典部署模型迁移到 Azure Resource Manager

    以下步骤演示了如何使用 Azure PowerShell 命令将基础结构即服务 (IaaS) 资源从经典部署模型迁移到 Azure Resource Manager 部署模型. 也可根据需要通过 Az ...

  9. Linux下postgres安装fuzzystrmatch其他拓展包

    (1)安装gdal # wget http://download.osgeo.org/gdal/2.0.0/gdal-2.0.0.tar.gz # tar zxvf gdal-2.0.0.tar.gz ...

  10. [翻译] CNPGridMenu

    CNPGridMenu CNPGridMenu is a Mailbox style grid menu with a blurred background for iOS 7 & iOS 8 ...