windows转mac-开发环境搭建(五):mac上用docker安装并运行mysql



  因为有太多的人选择直接在msyql官网下载社区版的mysql软件,所以就不那样写教程了,在选择的时候,我也尽量往可拓展性,轻性的方面选,先介绍下docker是什么:

  Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。

  Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

  容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。


Docker的应用场景


  • Web 应用的自动化打包和发布。

  • 自动化测试和持续集成、发布。

  • 在服务型环境中部署和调整数据库或其他的后台应用。

  • 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。

Docker 的优点

  • 1、简化程序:
    Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的任务,在Docker容器的处理下,只需要数秒就能完成。

  • 2、避免选择恐惧症:
    如果你有选择恐惧症,还是资深患者。Docker 帮你 打包你的纠结!比如 Docker 镜像;Docker 镜像中包含了运行环境和配置,所以 Docker 可以简化部署多种应用实例工作。比如 Web 应用、后台应用、数据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打包成一个镜像部署。

  • 3、节省开支:
    一方面,云计算时代到来,使开发者不必为了追求效果而配置高额的硬件,Docker 改变了高性能必然高价格的思维定势。Docker 与云的结合,让云空间得到更充分的利用。不仅解决了硬件管理的问题,也改变了虚拟化的方式。



1、下载安装docker

如果需要手动下载,请点击以下链接下载 Stable 或 Edge 版本的 Docker for Mac。


如同 macOS 其它软件一样,安装也非常简单,双击下载的 .dmg 文件,然后将鲸鱼图标拖拽到 Application 文件夹即可。


windows转mac-开发环境搭建(五):mac上用docker安装并运行mysql

从应用中找到 Docker 图标并点击运行。可能会询问 macOS 的登陆密码,输入即可。

windows转mac-开发环境搭建(五):mac上用docker安装并运行mysql


点击顶部状态栏中的鲸鱼图标会弹出操作菜单。


windows转mac-开发环境搭建(五):mac上用docker安装并运行mysql


windows转mac-开发环境搭建(五):mac上用docker安装并运行mysql


第一次点击图标,可能会看到这个安装成功的界面,点击 "Got it!" 可以关闭这个窗口。


windows转mac-开发环境搭建(五):mac上用docker安装并运行mysql


启动终端后,通过命令可以检查安装后的 Docker 版本。


$ docker --version

 Docker version 17.12.0-ce, build c97c6d6


之后可以选择采用镜像加速,也可以不选择,我这里没有选择


2、安装并运行mysql
 这里选择采用终端方法:docker pull mysql
  查找Docker Hub上的mysql镜像

windows转mac-开发环境搭建(五):mac上用docker安装并运行mysql

这里我们拉取官方的镜像,标签为5.7.19

runoob@runoob:~/mysql$ docker pull mysql:5.7.19

等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为mysql,标签为5.7.19的镜像。

MySQL(5.7.19)的默认配置文件是 /etc/mysql/my.cnf 文件。如果想要自定义配置,建议向 /etc/mysql/conf.d 目录中创建 .cnf 文件。新建的文件可以任意起名,只要保证后缀名是 cnf 即可。新建的文件中的配置项可以覆盖 /etc/mysql/my.cnf 中的配置项。

具体操作:

首先需要创建将要映射到容器中的目录以及.cnf文件,然后再创建容器

# pwd
/opt
# mkdir -p docker_v/mysql/conf
# cd docker_v/mysql/conf
# touch my.cnf
# docker run -p 3306:3306 --name mysql -v /opt/docker_v/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d imageID
4ec4f56455ea2d6d7251a05b7f308e314051fdad2c26bf3d0f27a9b0c0a71414

命令说明:
  • -p 3306:3306:将容器的3306端口映射到主机的3306端口
  • -v /opt/docker_v/mysql/conf:/etc/mysql/conf.d:将主机/opt/docker_v/mysql/conf目录挂载到容器的/etc/mysql/conf.d
  • -e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码
  • -d: 后台运行容器,并返回容器ID
  • imageID: mysql镜像ID

查看容器运行情况

# docker ps

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES

7442e17ffdb0        3e3878acd190        "docker-entrypoint.s…"   2 days ago          Up 2 days           0.0.0.0:3306->3306/tcp   mysql

 

 

windows转mac-开发环境搭建(五):mac上用docker安装并运行mysql

3、安装mysql客户端

个人觉得Navicat-Premium最好用,分享在百度云

链接:https://pan.baidu.com/s/1c3ra7hY  密码:8cfe

工具比较简单,就不做使用介绍了。

参考网址:http://www.runoob.com/docker/docker-tutorial.html