在 Docker Compose 中使用端口 3307 运行 MySQL

在 Docker Compose 中使用端口 3307 运行 MySQL

Docker Compose 是 Docker 的一种工具,它使您可以定义和运行多容器 Docker 应用程序。在本文中,我们将使用 Docker Compose 配置文件来运行 MySQL 并将其映射到主机端口 3307,而不是默认端口 3306。
阅读更多:MySQL 教程

前置条件

本教程将假设您已经在您的计算机上安装了 Docker 和 Docker Compose。

步骤1 – 创建 docker-compose.yml 文件

首先,您需要创建一个名为 docker-compose.yml 的新文件。该文件将包含所有需要启动 MySQL 容器所需的配置。
请参考以下配置文件,并将其内容复制到 docker-compose.yml 文件中。

version: '3.7'

services:
  db:
    image: mysql:5.7
    command: --default-authentication-plugin=mysql_native_password
    ports:
      - "3307:3306"
    volumes:
      - ./data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: secret
Mysql

这将启动一个名为 “db” 的 MySQL 容器,将它映射到主机端口 3307,并将 MySQL 数据目录链接到当前工作目录下的 data 目录。

MySQL 根密码必须配置为 “secret”。

步骤2 – 启动 MySQL 容器

在终端中,导航到 docker-compose.yml 所在的目录,并运行以下命令:

$ docker-compose up -d
Mysql

这将从 Docker Hub 下载 MySQL 镜像并后台启动一个 MySQL 容器。

步骤 3 – 验证 MySQL 容器是否已启动

要验证 MySQL 容器是否正在运行,请在终端中运行以下命令:

$ docker ps
Mysql

命令的输出将显示正在运行的容器,类似于如下所示的内容:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
e7d0114d8234        mysql:5.7           "docker-entrypoint.s…"   4 minutes ago       Up 4 minutes        0.0.0.0:3307->3306/tcp, 3306/tcp   docker-sql_db_1
Mysql

请注意,端口 3307 是在 ports 部分配置的端口。

步骤4 – 连接到 MySQL 容器

要连接到 MySQL 容器并进入 MySQL 命令行界面,请在终端中运行以下命令:

$ docker exec -it docker-sql_db_1 /bin/bash
Mysql

您将进入容器,并可以通过以下命令连接到 MySQL:

$ mysql -uroot -p
Mysql

此时将要求输入管理员密码,“secret”。

Enter password:
Mysql

接下来您将进入 MySQL 命令行界面。

总结

在本文中,我们已经学习了如何在 Docker Compose 中运行 MySQL 并将其映射到主机端口 3307。通过这种方式,您可以避免端口冲突并轻松地运行多个 MySQL 实例。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册