Docker部署MySQL并实现远程连接
1.编写好dockerfile文件
1 | |
2.创建容器并运行
这里先切换到了我自己的MySQLDocker目录
1 | |
(1)以下命令用于从当前目录下的 Dockerfile 构建一个新的 Docker 镜像,并将其命名为 mysql-image。
1 | |
详细解释:
- **
docker build**:- 这是 Docker 的一个命令,用于根据 Dockerfile 构建一个新的镜像。
- **
-t mysql-image**:-t是--tag的简写,用于为构建的镜像指定一个名称(和可选的标签)。在这里,镜像的名称是mysql-image。如果想指定一个标签(例如版本号),可以写成-t mysql-image:1.0。
- **
.**:- 表示当前目录。Docker 会在这个目录下查找
Dockerfile,并使用它来构建镜像。这个目录也被称为构建上下文(build context)。Docker 会将当前目录下的文件和文件夹发送到 Docker 守护进程,因此确保当前目录中包含所有需要的文件(如Dockerfile和初始化脚本)。
- 表示当前目录。Docker 会在这个目录下查找
(2)以下命令用于从 mysql-image 镜像创建并启动一个新的 Docker 容器,并将其命名为 mysql-container。
1 | |
详细解释:
- **
docker run**:- 用于创建并启动一个新的 Docker 容器。
- **
--name mysql-container**:- 为容器指定一个名称(
mysql-container),便于后续操作。
- 为容器指定一个名称(
- **
-p 3306:3306**:- 将容器的 3306 端口映射到宿主机的 3306 端口。这意味着可以从宿主机或其他机器通过
宿主机IP:3306访问容器中的 MySQL 服务。 - 格式为
-p 宿主机端口:容器端口。
- 将容器的 3306 端口映射到宿主机的 3306 端口。这意味着可以从宿主机或其他机器通过
- **
-d mysql-image**:-d表示以 detached 模式运行容器(即在后台运行)。mysql-image是刚刚构建的镜像名称,Docker 将使用它来创建容器。
3.进入正在运行的 mysql-container 容器和进入 MySQL 的交互式命令行界面
1 | |
详细解释:
- **
docker exec**:- 用于在正在运行的容器中执行命令。
- **
-it**:-i表示交互式模式,允许用户与容器内的命令交互。-t分配一个伪终端,使用户能够像在本地终端中一样操作。
- **
mysql-container**:- 指定目标容器的名称(即之前创建的
mysql-container)。
- 指定目标容器的名称(即之前创建的
- **
mysql -uroot -p123456**:- 在容器内执行的命令,用于启动 MySQL 客户端。
-u root表示以root用户登录 MySQL。-p123456表示root用户的密码是123456。
4.创建数据库用户并配置实现远程连接(MySQL 8.0及以上)
1 | |
Docker部署MySQL并实现远程连接
http://blog.hrseno.cn/2025/01/20/网站部署-Docker部署MySQL/