下载镜像
docker pull mysql:5.6
创建容器,并启动
docker run -p 3307:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
# 把数据存储在本地目录/var/lib/mysql
docker run -p 3308:3306 --name mysql2 -e MYSQL_ROOT_PASSWORD=12
3456 -v /var/lib/mysql:/var/lib/mysql -d mysql:5.6
/var/lib/mysql
: mysql数据库数据目录
/etc/mysql/my.cnf
:配置文件目录
也可多添加一个 -v /etc/mysql/my.cnf:/etc/mysql/my.cnf
参数将本地路径挂载到容器中,这样就可以在本地对配置文件进行修改。注意,同一个文件夹挂载到多个容器会导致容器启动失败。
- -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
- -p 3306:3306:将容器的 3306 端口映射到主机的 3307 端口。(主机上已安装过mysql,所以3306端口已被占用,改用3307端口)
连接测试
windows主机上使用navicat连接测试,成功!
image.png
这样就可以使用啦!!
通过navicat连接到数据库,添加wzjz数据库,并导入相关数据,则在本地 /var/lib/mysql
路径下看到多了一个wzjz文件夹,即新建的数据库。
即使对已有数据的mysql数据库打包成镜像,在用打包好的新镜像创建一个容器,依然数据库为空,所以需要每次将本地的
/var/lib/mysql
文件夹挂载进容器。
打包成镜像
docker commit -a 'chenchen' -m 'WZJZ:mysql5.6:3307:root-123456' 295c9e420ab8 chenchen/mysql5.6
image.png
保存镜像
sudo docker save chenchen/mysql5.6 -o mysql5.6.tar
ls
sudo cp mysql5.6.tar /share/
cd /share/
image.png
本地镜像载入
docker load < mysql5.6.tar
image.png
进入数据库
查看mysql容器的IP
docker inspect mysql |grep IPAddress
image.png
# 进入mysql容器
docker exec -it 6b6b44a794bb /bin/bash
# 连接
mysql -h 172.17.0.3 -u root -p
输入root用户的密码即可进入数据库命令行
网友评论