之间我有在博客里面介绍过如何在Debian/Ubuntu等系统安装docker,但是安装了以后我们要在上面开发的话需要部署对应的服务,那么Mysql作为当前企业用的最主流的线性数据库之一,几乎是必装的,那么如何在docker是部署Mysql服务呢?
主要步骤有这样几步:
首先第一步:
获取mysql 的镜像文件
docker pull mysql:5.7
拉取完成之后,可以使用docker images 来查看mysql镜像状态
第二部:
在我们要操作的目录下面放入,我们要初始化的sql文件(类似下面这个文件的)
第三步:使用Dockerfile定制镜像
在初始化的数据库文件(init.sql)同级目录里面,添加一个Dockerfile文件(文件名字就叫Dockerfile,不需要后缀)
FROM mysql:5.7
WORKDIR /docker-entrypoint-initdb.d
ADD init.sql .
第四步:构建镜像
docker build -t mysql-sampledb /root/work/docker/
其中的mysql-sampledb是我们指定的镜像的名字,/root/work/docker/是指我们指定的路径
第五步:构建容器
docker run -p 3308:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql-sampledb
如果有错误的话,我们可以在输出的信息里面看到报错信息;成功的情况如上图所示,会提示mysqld:ready for connections
异常处理:
如果执行的过程中,我们的init.sql文件里面有报错的话,要怎么办呢?
在这里,我建议你从第4步开始,在build的命令里面把mysql-sampledb的名字换一下即可,然后在第5步里面的名字也要换掉。
最后,如果你想要删除到构建失败的镜像,怎么办呢?
直接运行docker rm xxxx(镜像名) 十有八九是会出错的,因为这个镜像被相关的容器关联使用,所以首先要删除对应的使用该镜像的容器之后,才能正确的删除镜像。
具体的命令如下:
docker container ls -a
docker container rm container-name
docker image ls -a
docker image rm 501(这里只是一个示范,可以通过类似501这样的镜像来做一个指向)
版权声明:本文为Mr_Gorgre原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。