以下过程,以官方mysql 5.7镜像为基础,构建了一个新的mysql镜像,仅替换了mysql配置文件。mysql
1.下载docker mysql 5.7官方镜像,命令以下:sql
docker pull mysql:5.7
下载完成后,查看镜像是否已经存在,以下图:docker
2.任意目录下,放置好本身的mysql配置文件,名称为config-file.cnf,并新建文件Dockerfile,以下图:数据库
3.在Dockerfile文件中,写入以下内容:bash
FROM mysql:5.7 MAINTAINER shangyingbin COPY config-file.cnf /etc/mysql/conf.d/
4.构建镜像,命令以下:工具
docker build -t omc/mysql:1.0 .
结果以下图:ui
5.查看镜像,刚刚建立的镜像已经出如今列表中了,以下图:spa
6.以此镜像,启动一个容器,命令以下:命令行
docker run --name mysql -e MYSQL_ROOT_PASSWORD=12345 -p 3306:3306 -v /home/docker-mysql-data:/var/lib/mysql/ -d omc/mysql:1.0
解释:3d
--name mysql,为容器命名,方便识别,也方便后续的操做,好比启动、中止容器,即可以用名字表明容器,如docker stop mysql
-e MYSQL_ROOT_PASSWORD=12345,指定mysql中root用户的密码,为12345
-p 3306:3306,指定端口映射,将容器内的3306端口,映射到本机的3306端口,这样外部便可经过本机的IP和3306端口便可访问数据库了
-v /home/docker-mysql-data:/var/lib/mysql/,将容器内mysql的数据目录/var/lib/mysql,映射到本机的/home/docker-mysql-data目录下
7.查看镜像是否已经启动,命令以下:
8.可经过mysql工具链接此服务,验证服务启动是否正常。
9.中止服务命令以下:
docker stop mysql
10.从新启动服务,命令以下:
docker start mysql
11.进入容器,命令以下:
docker exec -it mysql /bin/bash
12.在容器内,命令行方式登陆mysql,命令以下:
mysql -h 127.0.0.1 -uroot -p
提示输入密码,密码即为建立容器时指定的12345
13.要退出容器,先退出mysql,而后直接执行exit命令便可,退出后,容器依然正常运行。