一、利用 docker 拉取 mysql 镜像
- 利用docker默认镜像源
- docker pull mysql:5.7 // 拉取指定版本,5.7 版本相对稳定
- docker pull mysql // 拉取最新版本
复制代码 - 利用指定镜像仓库拉取
- // 假设可用镜像源地址为 "https://dockerpull.org"
- docker pull dockerpull.org/mysql:5.7 // 拉取指定仓库的指定版本
复制代码 - 利用国内镜像仓库
- // 当前国内可用镜像源地址
- {
- "registry-mirrors": [
- "https://docker.hpcloud.cloud",
- "https://docker.m.daocloud.io",
- "https://docker.unsee.tech",
- "https://docker.1panel.live",
- "http://mirrors.ustc.edu.cn",
- "https://docker.chenby.cn",
- "http://mirror.azure.cn",
- "https://dockerpull.org",
- "https://dockerhub.icu",
- "https://hub.rat.dev",
- "https://proxy.1panel.live",
- "https://docker.1panel.top",
- "https://docker.m.daocloud.io",
- "https://docker.1ms.run",
- "https://docker.ketches.cn"
- ]
- }
复制代码
- 打开 docker 镜像源配置文件
- sudo nano /etc/docker/daemon.json
- // 进入 nano 的编辑界面。如果文件不存在,nano 会自动创建
- // 将上方镜像源地址放入 "registry-mirrors" 下
- // 若没有 "registry-mirrors",则将上述 "registry-mirrors" 模块全部放入
- // 完成编辑后,按下 Ctrl + X 组合键,此时会提示是否保存修改,按下 Y 键表示保存,
- // 然后按下回车键确认文件名,即可保存修改并退出 nano 编辑器
复制代码 - 重启 docker
- sudo systemctl restart docker // 重启 docker
- sudo systemctl status docker // 检查是否已重启,如果服务状态显示为 active (running),则表示 Docker 服务已成功重启
复制代码
二、部署数据库镜像
- 利用 docker 下令部署
- docker run
- -p 9096:3306
- --name taichu
- -v /opt/taichu/mysql/conf/my.cnf:/etc/mysql/my.cnf
- -v /opt/taichu/mysql/logs:/log
- -v /opt/taichu/mysql/data:/mysql_data
- -e MYSQL_ROOT_PASSWORD=123456
- -d
- Id
- // 以上命令解释
- docker run
- // 映射端口9096至容器内3306,即通过云端9096端口访问数据库,容器内数据库端口设置为3306
- -p 9096:3306
- --name taichu // 容器名称
- -v /opt/taichu/mysql/conf/my.cnf:/etc/mysql/my.cnf // 挂载数据库配置文件目录
- -v /opt/taichu/mysql/logs:/log // 挂载数据库log文件目录
- -v /opt/taichu/mysql/data:/mysql_data // 挂载数据库数据存储目录
- -e MYSQL_ROOT_PASSWORD=123456 // 设置 root 用户密码
- -d // 让容器以守护进程模式在后台运行
- Id // mysql 镜像 id,可仅输入前 2-3 位,通过 docker images 命令查询所有镜像
复制代码 - 修改容器时区
- docker exec -it 容器名或容器Id /bin/bash // 进入容器内部,Id 可只输入前 2-3 位
- // 修改时区
- rm /etc/localtime
- ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
- exit // 退出容器内部
- docker restart Id // 重新启动该容器,Id 可只输入前 2-3 位
复制代码 - 导入数据
- 通过 mysql 可视化工具连接至云端此数据库,端口号为上方映射端口,账号 root,暗码为上方设定暗码。
任意可视化工具均可。连接后导入数据。
- 容器内部导入
- 假设文件名为 data.sql,且存放在 /opt/taichu/ 目录下
- 1. 拷贝至容器内部(方法1)
- docker exec -it 容器名或容器Id /bin/bash // 进入容器内部,Id 可只输入前 2-3 位
- // 将数据文件拷贝至容器内部,taichu - 容器名称
- docker cp /opt/taichu/data.sql taichu:/tmp/data.sql
- mysql -u root -p // 进入 mysql,输入密码
- create database test; // 创建数据库,若sql文件包含创建语句则跳过
- use test; // 使用数据库 test
- source /tmp/data.sql; // 导入数据
- exit; // 退出数据库
- exit // 退出容器
- 2. 直接执行(方法2)
- docker exec -i Id mysql -u root -p password < /opt/taichu/data.sql
- // Id :容器 Id 或名称
- // password :数据库 root用户的 密码
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |