为了更好的使用mycat,又不想去研究本机系统开启多个mysql实例,故考虑使用docker来开启多个mysql,然后使用mycat做分库分表中间价。

默认的mysql镜像中是不包含任何的编辑工具,设计的理由说是这样镜像会更小。那怎么在docker中使用编辑器如vim可以参考stackoverflow的回答,https://stackoverflow.com/questions/30853247/how-to-edit-file-after-i-shell-to-a-docker-container

在Container重启后发现存在一个问题,之前修改的/etc/apt/source.list 在重启后恢复了原样,不能找回之前修改后的地方,同样,如果是创建一个文件,但是当这个container退出以后,如果以同一个的image启动了另一个container,在这个container中是看不到之前那个container创建的文件的。

如果想让后面的container看到之前那个container创建的文件,就要把之前那个container保存成一个镜像commit,然后基于这个镜像来启动后面的那个container。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
列举几个可能需要的命令
docker pull mysql
docker run -p 12345:3306 --name mysql -e MYSQL_ROOT_PASSWORD=x -d
docker run -p 12346:3306 --name mysql_1 -e MYSQL_ROOT_PASSWORD=x -d
docker.io/mysql
docker ps -a
docker rm f mysql
mysql -uroot -h127.0.0.1 -P12345 -px
mysql -uroot -h127.0.0.1 -P12346 -px
docker cp source romote
docker cp sources.list mysql_1:/etc/apt/sources.list
apt-get update
apt-get install vim
docker commit mysql mysql:1.0

参考链接