docker操作镜像-以mysql为例

Docker安装使用-CSDN博客

docker操作镜像-以mysql为例

当安装一个新的镜像时可以登录https://hub.docker.com/直接搜索想要安装的镜像,[查看文档](https://hub.docker.com/ "查看文档")

1)拉取镜像

复制代码
docker pull mysql   或者 docker pull mysql:版本号

然后直接跳到第**4)**步即可

2)错误的启动

复制代码
docker run --name mysql01 -d mysql

这个只是默认的启动方式,每一个镜像都有自己的配置,记得查看文档

3)正确的启动(没有映射)

按照文档上进行启动

复制代码
docker run --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
复制代码
docker ps

启动成功了,但是访问不了,因为没有与主机地址做映射

停止并删除容器:

复制代码
docker stop <ID>

docker rm <ID>

4 )做了端口映射的正确启动

复制代码
docker run -p 3306:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql

run -d // 后台运行

-p 3307:3306 // 宿主机端口:容器内部端口 云服务器需要开放端口

-e MYSQL_ROOT_PASSWORD=123456 // 设置默认root用户密码为 123456

--name mysql 01 // 容器名称

mysql // 镜像名

若主机3306端口已被占用,且无法释放,可用3307端口

复制代码
docker run -p 3307:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql

5)几个高级操作

复制代码
docker run --name mysql03 -v /conf/mysql:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
把主机的/conf/mysql文件夹挂载到 mysqldocker容器的/etc/mysql/conf.d文件夹里面
改mysql的配置文件就只需要把mysql配置文件放在自定义的文件夹下(/conf/mysql)

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
指定mysql的一些配置参数

6)mysql远程连接需要密码加密

首先 docker exec -it <容器名称> bash,进入容器

复制代码
docker exec -it mysql01 bash

登录mysql

复制代码
mysql -uroot -p123456

成功返回如下:

7) 添加远程用户

Docker配置Mysql并设置远程连接_docker mysql远程访问-CSDN博客

添加远程连接用户

复制代码
alter user 'root'@'%' identified with mysql_native_password by '123456';
  • 修改用户认证方式 :将用户 root@% 的身份验证插件设置为 mysql_native_password(旧版密码验证方式)。

  • 设置密码 :同时更新用户密码为 123456

如果安装的是Mysql5.6左右的版本,使用如下语句

添加远程连接用户

复制代码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

刷新权限

复制代码
flush privileges;

可以通过Navicat测试连接

8)设置mysql自启动

设置mysql容器自启动

复制代码
docker update --restart=always <ID>
相关推荐
熬夜的咕噜猫5 小时前
MySQL 核心数据库操作
adb
Yang-Never7 小时前
ADB ->adb shell perfetto 抓取 trace 指令
android·开发语言·adb·android studio
轩情吖11 小时前
MySQL之事务管理
android·后端·mysql·adb·事务·隔离性·原子性
赶路人儿1 天前
常见的mcp配置
android·adb
ego.iblacat1 天前
MySQL 数据库操作
数据库·mysql·adb
路溪非溪1 天前
adb的安装和基本使用总结
adb
XDHCOM1 天前
MySQL报错LDAP认证初始化连接池失败,远程修复思路和故障排查分享
数据库·mysql·adb
闻哥2 天前
深入理解 MySQL InnoDB Buffer Pool 的 LRU 冷热数据机制
android·java·jvm·spring boot·mysql·adb·面试
炸炸鱼.2 天前
MySQL 数据库核心操作手册
数据库·adb·oracle
总要冲动一次2 天前
MySQL 5.7 全量 + 增量备份方案(本地执行 + 远程存储)
数据库·mysql·adb