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>
相关推荐
STER labo16 小时前
mysql配置环境变量——(‘mysql‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件解决办法)
数据库·mysql·adb
sjmaysee19 小时前
CentOS7安装Mysql5.7(ARM64架构)
adb·架构
AtOR CUES1 天前
MySQL——表操作及查询
android·mysql·adb
mOok ONSC1 天前
mysql9.0windows安装
windows·adb
xxjj998a2 天前
Laravel8.x核心特性详解
数据库·mysql·adb
TeDi TIVE2 天前
Linux下MySQL的简单使用
linux·mysql·adb
TeDi TIVE2 天前
MySQL四种备份表的方式
mysql·adb·oracle
rleS IONS2 天前
Linux系统离线部署MySQL详细教程(带每步骤图文教程)
linux·mysql·adb
计算机安禾2 天前
【Linux从入门到精通】第40篇:LAMP/LNMP环境一键部署脚本实战
android·linux·adb
xxjj998a2 天前
Laravel7.x核心特性全解析
数据库·mysql·adb