windows上利用docker安装MySQL

安装docker

在Windows上安装Dockers Toolbox,下载链接
选择ce版本。安装完成后有三个软件,一个是VM Virtualbox,负责装载docker-machine虚拟机;一个Quickstart是一个虚拟终端,点击这个应用后会自动新建一个machine;另一个是一个GUI,基本不用。

docker使用与配置

docker运行在一个Linux系统的虚拟机上,即machine,第一次点开Quickstart默认创建的machine的名字一般是default;在machine中可以新建和运行容器,容器可以理解为在原始machine的基础上叠加环境信息,并形成一个新的“虚拟机”,因此运行在同一个machine上的不同的容器之间是隔离的;
在Windows的cmd或者Powershell中可以通过docker-machine对虚拟机进行管理

1
2
3
4
5
6
7
8
# 创建名叫default的machine
docker-machine create --driver=virtualbox default
# 停止machine
docker-machine stop default # 重启用restart,启动用start
# 删除一个machine
docker-machine rm default
# 查看machine信息,包括其IP地址
docker-machine ls

通过docker-machine可以在Windows环境中获得machine的环境,从而无需登录machine就可以在
cmd中执行docker开头的指令(docker本是machine中的应用而不是在Windows中)。执行

1
2
# 创建名叫default的machine
docker-machine env default #根据输出执行命令

即可获得环境,例如我们现在可以执行docker version。\
可以通过docker-machine登陆machine

1
docker-machine ssh default

登陆后sudu vi /var/lib/boot2docker/profile,在EXTRA_ARGS中添加国内的镜像源

1
--registry-mirror https://registry.docker-cn.com

exit退出虚拟机,重启虚拟机,然后就可以开始拉镜像了。

安装Mysql

1
2
3
4
# 安装镜像
docker pull mysql
# 新建容器
docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123 mysql:latest

一些常用操作

1
2
3
4
5
6
7
8
9
10
# 查看镜像
docker image ls
# 查看容器
docker ps -a
# 暂停容器
docker stop $(containerID)
# 启动容器
docker start mysql # 后面是容器的name
# 登陆容器
docker exec -it mysql bash

远程连接Mysql

登陆容器后登陆MySQL

1
2
# 以root身份登陆,密码为123
mysql -u root -p

进入MySQL引擎

1
2
CREATE USER 'szw'@'%' IDENTIFIED WITH mysql_native_password BY 'szw';
GRANT ALL PRIVILEGES ON *.* TO 'szw'@'%';

下载Navicat for MySQL,打开应用,点击连接,填写相关信息,IP为default虚拟机的IP,账号
szw,密码szw,然后就正常连接了。