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>
相关推荐
好奇的菜鸟13 小时前
如何在Ubuntu上检查MySQL是否启动并放开3306端口
mysql·ubuntu·adb
OneT1me13 小时前
adb shell中执行system用户权限命令的方法
adb
Polaris_YJH13 小时前
360安全卫士占用5037端口(ADB端口)解决方案
adb·端口占用·5037
雨之小11 天前
RK3588调试之旅:adbd服务配置全攻略
adb·rk3588
Chrison_mu11 天前
python运行android adb命令获取版本号
android·python·adb
奔跑吧邓邓子12 天前
一文吃透ADB,从入门到精通
adb·从入门到精通
鹏说大数据13 天前
MySQL5.7 慢查询SQL语句集合
android·sql·adb
small_white_robot14 天前
OSCP备战-LordOfTheRoot靶机复现步骤
adb
从零开始学习人工智能15 天前
基于FastAPI与Selenium的智能开关状态管理系统实践
selenium·adb·fastapi
weixin_5316389418 天前
XR-RokidAR-ADB环境搭建
adb·xr