docker mysql 5.6
拉取镜像↓
docker pull mysql:5.6
查看已有镜像↓
docker images
查看未启动的容器↓
docker ps -a
查看已启动的容器↓
docker ps
运行一个容器↓
docker run -itd -p 3307:3306 --name=mysqlTest -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6
参数说明↓
-p 3307:3306:将容器的 3306 端口映射到宿主机的 3307 端口。
-e MYSQL_ROOT_PASSWORD=123456: 初始化 root 用户的密码。
查看日志↓
docker logs mysqlTest
停止运行容器↓
docker stop mysqlTest
重新启动容器↓
docker restart mysqlTest
删除容器↓
docker rm -f mysqlTest
删除镜像↓
docker rmi 镜像id
重命名容器↓
docker rename 旧名称 新名称
进入容器↓
docker exec -it mysqlTest bash
链接到数据库↓
mysql -u root -p
解决mysql镜像commit 后重新运行.tar容器没有数据↓
docker exec -it mysqlTest bash #进入容器
mkdir /data #新建存储文件
cp -r var/lib/mysql /data/ #将默认数据路径迁移
#查看一下 datadir = /var/lib/mysql 这行的行号
cat -n /etc/mysql/mysql.conf.d/mysqld.cnf #打开文件查看行号
#由于没有 vi 命令 所以用 sed 命令把这行删除
sed -i 32d /etc/mysql/mysql.conf.d/mysqld.cnf
#在最后一行加上修改后的数据目录
echo "datadir = /data/mysql/" >> /etc/mysql/mysql.conf.d/mysqld.cnf#配置后重启容器目录生效
最好在最开始run的时候就设置mysql的挂载路径,挂载到宿主机上
mkdir /data/dockertmp/
docker run -itd -p 3307:3306 --name=mysqlTest -v /data/dockertmp/:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6
查看容器的挂载路径
docker inspect 容器ID #检查容器