• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >虚拟化 > Mac上使用Docker如何快速启动MySQL测试

Mac上使用Docker如何快速启动MySQL测试

作者:Jay Janssen 字体:[增加 减小] 来源:互联网

本文主要包含mac,docker,mysql启动等服务器相关知识,Jay Janssen 希望可以进行参考

本文主要讨论使用Docker快速启动 MySQL 测试的方法,包括Mac环境。一起看看吧!

近来业界有很多对Docker的讨论,其生态系统发展得很快,然而,从简单的“入门”或“引导”类的文章中能容易地找到成熟的技术,但Docker不然。我在Mac上试玩过Docker,但Mac绝对是Docker界的二等公民。当我在Giuseppe的博客上看到关于在Mac上使用新Docker beta《Docker for Mac beta and MySQL》一文时,决定自己来尝试下。这些步骤适用于Mac(Windows也可能),亦能适配Linux环境(GA版本,Docker 1.11.1)。

首先,在Mac上注册新的Docker测试版程序,接着从Docker中获得下载代码。此过程我耗时一天,但应该不久就会发布完整版。安装完成后,我需要为常见的MySQL版本设置一些Docker容器,沙箱也就有了。方法如下:

jayj@~ [510]$ docker network create test
90005b3ffa9fef1f817ee4965e794a567404c9a8d5bf07320514e7d848d59ff9
jayj@~ [511]$ docker run --name=mysql57 --net=test -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -d mysql/mysql-server:5.7
6c80fa89610dbd5418ba474ad7d5451cd061f80a8a72ff2e718341827a08144b
jayj@~ [512]$ docker run -it --rm --net=test -e MYSQL_HOST=mysql57 mysql/shell init
Creating a Classic Session to root@mysql57:3306
Enter password:
No default schema selected.
enableXProtocol: Installing plugin mysqlx...
enableXProtocol: done

一些经验总结:

我为我的容器创建了一个名为“测试”的网络以共享,本质是容器之间一个专用的私有网络。我喜欢这个是因为在相关的端口是监听多个容器,也不必设置主机操作系统的端口。
我将Oracle的官方MySQL Docker容器启动一个MySQL 5.7的镜像,在绑定到该测试网络。

我使用了MySQL /shell镜像(来自Oracle)来初始化MySQL 5.7服务器上的mysqlx插件。需要注意的是,我并没有输入密码,因为我没有创建一个服务器(不安全,但它是一个沙箱)。
这个里面的Shell使用了运行后删除的临时容器,所以并不会破坏Docker ps-a输出。

所以,现在我希望能够使用标准的MySQL命令行或新的MySQL shell来访问这个容器。让它看起来很干净,因此我添加了一些bash别名:

alias mysqlsh='docker run -it --rm --net=test mysql/shell'
alias mysql='docker run -it --rm -e MYSQL_ALLOW_EMPTY_PASSWORD=yes --net=test --entrypoint="mysql" mysql/mysql-server:5.7'

这些以后,我可以直接调用他们并通过正常的命令行选项来连接我的MySQL 5.7镜像,就像使用的是一个原生的MySQL CLI binary。从MySQL 5.7镜像中使用MySQL CLI:

jayj@~ [524]$ mysql -h mysql57
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 4
Server version: 5.7.12 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, 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> show schemas;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.01 sec)

使用MySQL shell:

jayj@~ [527]$ mysqlsh -h mysql57 -u root --session-type=node
Creating a Node Session to root@mysql57:33060
Enter password:
No default schema selected.
Welcome to MySQL Shell 1.0.3 Development Preview
Copyright (c) 2016, 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', 'h' or '?' for help.
Currently in JavaScript mode. Use sql to switch to SQL mode and execute queries.
mysql-js> sql
Switching to SQL mode... Commands end with ;
mysql-sql> show schemas;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
mysql-sql>

现在,如果为了一些事情想要运行检查MySQL 5.5,可以这样做:

jayj@~ [530]$ docker run --name=mysql55 --net=test -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -d mysql/mysql-server:5.5
Unable to find image 'mysql/mysql-server:5.5' locally
5.5: Pulling from mysql/mysql-server
a3ed95caeb02: Already exists
ffe36b360c6d: Already exists
646f220a8b5d: Pull complete
ed65e4fea7ed: Pull complete
d34b408b18dd: Pull complete
Digest: sha256:12f0b7025d1dc0e7b40fc6c2172106cdf73b8832f2f910ad36d65228d9e4c433
Status: Downloaded newer image for mysql/mysql-server:5.5
6691dd9d42c73f53baf2968bcca92b7f4d26f54bb01d967be475193305affd4f
jayj@~ [531]$ mysql -h mysql55
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 1
Server version: 5.5.49 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, 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> show schemas;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)
或者,Percona Server:
jayj@~ [534]$ docker run --name=ps57 --net=test -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -d percona/percona-server:5.7
Unable to find image 'percona/percona-server:5.7' locally
5.7: Pulling from percona/percona-server
a3ed95caeb02: Pull complete
a07226856d92: Pull complete
eee62d87a612: Pull complete
4c6755120a98: Pull complete
10eab0da5972: Pull complete
d5159a6502a4: Pull complete
e595a1a01d00: Pull complete
Digest: sha256:d57f0ce736f5403b1714ff8d1d6b91d5a7ee7271f30222c2bc2c5cad4b4e6950
Status: Downloaded newer image for percona/percona-server:5.7
9db503852747bc1603ab59455124663e8cedf708ac6d992cff9b43e2fbebd167
jayj@~ [537]$ mysql -h ps57
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 2
Server version: 5.7.10-3 Percona Server (GPL), Release 3, Revision 63dafaf
Copyright (c) 2000, 2016, 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>

所以,这一切都很好,一旦镜像被本地缓存,上下调整新的容器可以实现无痛和快速。所有这一切的工作都是与我的操作系统工作站分离的。可能还有其他事情可以使用这种设置,但还没找到方法(如加载数据文件、运行代码来连接这些容器等),但将来我会解决。

以上所述是小编给大家介绍的Mac上使用Docker快速启动MySQL测试的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

您可能感兴趣的文章:

  • docker中使用mongodb数据库详解(在局域网访问)
  • 在Docker中使用MySQL的教程
  • 在docker上安装运行mysql实例
  • Docker mysql 主从配置详解及实例
  • 使用Docker容器搭建MySql主从复制
  • docker上安装使用mysql镜像
  • mac 中docker安装mysql的图文教程
  • docker中使用mysql数据库详解(在局域网访问)
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • VMWare12中安装苹果Mac OS X图文教程
  • Docker Machine远程部署Docker的方法
  • MacOS安装Docker的过程及遇到的坑
  • Vmware10上MAC OS 10.9安装配置方法图文教程
  • Docker Machine创建Azure虚拟主机
  • Docker Machine深入学习
  • Docker Machine是什么?
  • vmware 12 安装 mac os 10.12正式版的教程
  • 详解mac下通过docker搭建LEMP环境
  • 详解MAC OSX Docker开发环境搭建

相关文章

  • 详解基于docker-swarm搭建持续集成集群服务
  • 详解在docker中制作自己的JDK+tomcat镜像
  • CentOS 出现no space left on device错误解决办法
  • 在Docker中使用mongodb数据库的实现代码
  • kvm虚拟化学习笔记(一)之kvm虚拟化环境安装的步骤
  • 详解Docker下使用Elasticsearch可视化Kibana
  • Linux 开发环境中为VirtualBox安装增强功能
  • 详解Docker中容器的备份、恢复和迁移
  • 详解Docker创建支持ssh服务的容器和镜像
  • 如何Docker化Python Django应用程序

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • 使用jib打包docker镜像实战
    • docker使用阿里云镜像仓库的方法
    • Docker部署Django应用的示例
    • Docker探索namespace详解
    • Docker 端口映射详细介绍
    • Docker 手动配置容器网络实例详解
    • 什么是Docker? Docker入门教程
    • Ubuntu 16.04中Docker的安装和代理配置教程
    • 使用Docker Swarm搭建分布式爬虫集群的方法示例
    • 详解docker镜像centos7配置Java运行环境

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有