docker搭建mysql 5.7
1. 下载镜像
本例使用mysql 5.7版本
docker pull docker.io/mysql:5.7 |
2. 运行容器
2.1. 例1
docker run -d --name mysql-test -e MYSQL_ROOT_PASSWORD=123456 -p 13306:3306 docker.io/mysql:5.7 |
参数说明:
l -d: 程序保持后台运行
l --name:指定容器名称
l -e MYSQL_ROOT_PASSWORD:指定root密码
l -p 13306:3306:端口映射,将宿主机13306映射到容器3306端口
2.2. 例2
docker run -p 12345:3306 --name mysql -v /data/mysql/conf:/etc/mysql/conf.d -v /data/mysql/logs:/logs -v /data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6 |
命令说明:
l -p 12345:3306:将主机的12345端口映射到docker容器的3306端口。
l --name mysql:运行服务名字
l -v /data/mysql/conf:/etc/mysql/conf.d :将主机/data/mysql录下的conf/my.cnf 挂载到容器的 /etc/mysql/conf.d
l -v /data/mysql/logs:/logs:将主机/data/mysql目录下的 logs 目录挂载到容器的 /logs。
l -v /data/mysql/data:/var/lib/mysql :将主机/data/mysql目录下的data目录挂载到容器的 /var/lib/mysql
l -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
l -d mysql:5.6: 后台程序运行mysql5.6
2.3. 例3
Mysql5.7实战举例
保存配置、数据和日志文件。
docker run -d --name mysql-test -v /data/docker/mysql/conf:/etc/mysql/conf.d -v /data/docker/mysql/logs:/var/log -v /data/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:5.7 |
3. 测试
以例1参数连接mysql
IP:13306 root/123456 |
4. 备份数据库
docker exec myql服务容器ID sh -c ' exec mysqldump --all-databases -uroot -p"123456" ' > /data/all-databases.sql |
5. 安装vim
apt-get update apt-get install vim |