docker运行mysql并映射外网端口的方式(阿里云开放端口)

本文详细介绍了如何使用Docker运行MySQL容器,并通过映射端口实现从外网访问。同时,提供了在阿里云ECS服务器上开放端口的正确方式,确保MySQL服务的安全性和可达性。

docker运行mysql并映射外网端口的方式
docker run --name mysql-db --expose=33306 -p 33306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
//如果还是不能放完可以使用以下命令
GRANT ALL PRIVILEGES ON . TO root@’%’ WITH GRANT OPTION;

以上如果是在虚拟机上是可以的,但是在阿里云服务器上(ECS),还需要开放端口才可以,开放端口的方式不是直接在CentOS 7系统上开放端口,而是在案例云的后台设置:
在这里插入图片描述
先加入安全组,然后点击安全组配置
配置规则,点击此处进入配置页面
在这里插入图片描述

### 如何在 Docker 中安装 MySQL 配置端口映射 为了确保本地已有服务不受影响,在启动新的 MySQL 容器时可以指定不同的宿主机端口号来实现端口映射。具体操作如下: 当创建一个新的 MySQL 容器实例时,可以通过 `-p` 参数定义自定义的端口映射关系[^1]。 对于希望更改默认 3306 端口的情况,假设想要将容器内的 3306 映射到本机其他未被占用的端口比如 3307,则应使用以下命令运行新镜像: ```bash docker run --name mymysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -p 3307:3306 -d mysql ``` 上述命令中的选项解释: - `--name mymysql`: 给这个容器命名为 "mymysql" - `-e MYSQL_ROOT_PASSWORD=my-secret-pw`: 设置环境变量以初始化 root 用户密码为 "my-secret-pw"[^3] - `-p 3307:3306`: 将主机的 3307 端口映射至容器内部的服务监听地址 (MySQL 默认使用的 3306)[^2] 通过这种方式即可成功绕过与现有数据库实例之间的冲突问题,允许外部应用程序或客户端工具访问位于不同端口上的第二个 MySQL 实例。 #### 关于 `$PWD` 和 `-e` 后面的内容说明 - `$PWD` 是 Shell 变量代表当前工作目录路径;但在给定上下文中不是必需项。 - 对于 `-e` 参数而言,其作用是指定传递给容器的一个或多个环境变量及其对应的值。这里特别指定了用于设置初始管理员账户凭证的相关信息。因此 `-e MYSQL_ROOT_PASSWORD=your_password_here` 表达的是向正在启动的新 MySQL 数据库提供一个预设好的超级用户登录凭据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值