【部署篇】Docker配置MySQL容器+远程连接

一、前言

上篇文章在部署nestjs时,由于docker访问不了主机的localhost,所以无法连接主机数据库。所以我们只能在docker中额外配置一个数据库,映射到主机上,然后可以通过ip地址访问。

在本篇文章我们会在docker中创建一个mysql,毕竟使用navigator连接测试。

二、Docker配置MySQL容器(全流程)

步骤 1: 拉取 MySQL 镜像

首先,使用以下命令从 Docker Hub 拉取 MySQL 镜像:

bash 复制代码
docker pull mysql

步骤 2: 运行 MySQL 容器

使用以下命令创建并运行 MySQL 容器:

bash 复制代码
docker run -d \
  --name=mysql-container \
  -e MYSQL_ROOT_PASSWORD=123456 \
  -e MYSQL_DATABASE=test \
  -e MYSQL_USER=root \
  -e MYSQL_PASSWORD=root \
  -p 3307:3306 \
  mysql

ps: 由于本机数据库占着3306端口,这里换成3307

在上述命令中:

  • -d 表示在后台运行容器。
  • --name=mysql-container 给容器命名为 mysql-container,你可以根据需要自定义名称。
  • -e 选项用于设置环境变量,包括 root 用户密码、数据库名称、用户名和用户密码。
  • -p 3306:3306 将 MySQL 的默认端口映射到主机的端口 3306。你可以根据需要选择其他端口。

步骤 3: 连接到 MySQL 容器

bash 复制代码
docker exec -it mysql-container mysql -uroot -p

系统将提示你输入 root 用户的密码,输入之后你将进入 MySQL 的命令行界面。

步骤4:使用navicat测试

报错的话需要去阿里云打开对应的端口


再次尝试即可连接成功!

相关推荐
自在极意功。1 分钟前
深入剖析MyBatis事务管理机制:原理、配置与实践
java·数据库·mybatis·事务
代码游侠3 分钟前
学习笔记——线程
linux·运维·开发语言·笔记·学习·算法
怪只怪满眼尽是人间烟火3 分钟前
离线环境下部署区块链FISCO BCOS v2.11.0
linux·运维·区块链
wniuniu_5 分钟前
ceph内核模式 和 librbd 模式
运维·服务器·ceph
郭庆汝8 分钟前
Neo4j数据库中批量插入数据(数据在.csv文件中)
数据库·neo4j
五月君_10 分钟前
Node.js 历史性一刻!原生 TS 支持正式 Stable,告别 ts-node
node.js
m0_7381207210 分钟前
应急响应——知攻善防蓝队靶机Web-1溯源过程
前端·网络·python·安全·web安全·ssh
姬嘉晗-19期-河北工职大11 分钟前
在虚拟机的 Linux 系统(CentOS 7)中搭建一个「虚拟机本地网站」
linux·运维·centos
未来之窗软件服务11 分钟前
浏览器开发CEF(二十一)C#浏览器 Promise模式调用——东方仙盟元婴期
前端·javascript·html·仙盟创梦ide·东方仙盟·东方仙盟vos智能浏览器
Smile灬凉城66612 分钟前
TCP的四种计时器
运维·服务器·网络