简单使用Docker下安装Mariadb服务,基于Boot2Docker在windows下实现

Boot2Docker的安装

参考上一篇在docker中安装redis 的前半部分

下载Mariadb镜像

docker pull mariadb下载最新的mariadb镜像

下载镜像会慢一些,需要等待,完成之后,通过docker images命令就可以看到了。

1
2
3
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
redis latest b77605993f64 6 weeks ago 105.9 MB
mariadb latest b77605991234 9 weeks ago 375.9 MB

启动服务

运行容器

1
docker run --name test-mariadb -e MYSQL_ROOT_PASSWORD=123456 -d mariadb

docker命令 run 用–name指定容器的别名,mariadb是指容器的名称
MYSQL_ROOT_PASSWORD指定ROOT用户的密码

端口映射1:

docker 和虚拟机映射

将虚拟机的3306端口和docker的3306端口映射,port-mariadb是名称

1
docker run -d -p 3306:3306 --name port-mariadb -e MYSQL_ROOT_PASSWORD=123456 -d mariadb

端口映射2:

虚拟机和本机映射

打开VirtualBox找到boot2docker的虚拟机,打开设置、网络,找到【端口转发】,添加一条规则,宿主机3305和虚拟机的3306映射,如下

启动服务:

这里需要启动两个服务,一个是mariadb本身的服务——test-mariadb,一个是docker和虚拟机映射服务——port-mariadb,启动方式如下

1
2
3
docker start test-mariadb

docker start port-mariadb

通过docker ps -a可以看到服务已经运行了

1
2
3
4
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3190d98286d0 mariadb "docker-entrypoint.sh" 22 minutes ago Up 22 minutes 0.0.0.0:3306->3306/tcp port-mariadb
ce4e5c5cee70 mariadb "docker-entrypoint.sh" 43 minutes ago Up 26 minutes 3306/tcp test-mariadb

至此,就可以通过宿主机本地的Sql客户端工具,配置127.0.0.1的3305端口进行访问了。
参考:https://mariadb.com/kb/en/the-mariadb-library/installing-and-using-mariadb-via-docker/

另外

附上自己写的docker下启动服务的脚本,每次启动docker后手动启动多麻烦

1
2
3
4
5
6
# start services
docker start test-redis
docker start port-redis
docker start test-mariadb
docker start port-mariadb
#end start


简单记录,有待深入挖坑!欢迎留言交流!