Docker中安装和运行MySQL容器

以下是在Docker中安装和运行MySQL容器的步骤:

  1. 安装Docker:首先你需要在你的操作系统上安装Docker。你可以通过Docker官方网站上的文档来安装。
  2. 拉取MySQL镜像:在Docker中运行MySQL容器之前,你需要从Docker Hub上拉取MySQL镜像。你可以使用以下命令来拉取最新版本的MySQL镜像:
docker run --name mysql --privileged=true -v /my/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -p 13306:3306 -u root --lower-case-table-names=1 -d mysql

参数说明:

  • docker run: 新建容器并启动
  • --name mysql: 指定容器的名称为mysql。
  • --privileged=true: 授予容器特权访问,这意味着该容器可以执行一些需要特殊访问权限的操作,例如更改主机上的网络设置或挂载系统文件。
  • -v /my/mysql/data:/var/lib/mysql: 将主机上的/my/mysql/data目录挂载到容器的/var/lib/mysql目录,这意味着所有MySQL数据都将存储在主机上的/my/mysql/data目录中。
  • -e MYSQL_ROOT_PASSWORD=root: 设置MySQL root用户的密码为root
  • -p 13306:3306: 将容器的3306端口映射到主机的13306端口,这样你就可以在本地连接到MySQL服务器。
  • -e MYSQL_LOWER_CASE_TABLE_NAMES=1: 设置 MYSQL_LOWER_CASE_TABLE_NAMES 环境变量为 1,以便忽略 MySQL 表名和数据库名的大小写。
  • -u root: 将容器的用户更改为root用户,从而获得更高的权限。
  • -d: 将容器以后台模式运行,这样它将在后台运行而不会占用你的终端。
  • mysql: 指定要使用的MySQL镜像名称。
    这个命令将使用默认的 MySQL 版本,即最新版本。如果需要使用特定版本的 MySQL,请将 mysql 替换为所需的版本标签,例如 mysql:8.0.33。

具体来说,-p 13306:3306选项将容器的3306端口映射到宿主机的13306端口,这样你就可以使用宿主机上的MySQL客户端连接到容器中运行的MySQL服务器。-e MYSQL_ROOT_PASSWORD=root选项设置MySQL root用户的密码为root,这样你就可以使用该密码来连接到MySQL服务器。-d选项将容器以后台模式运行,这样它将在后台运行而不会占用你的终端。

总之,这个命令可以让你在Docker中快速启动一个MySQL服务器,并将它映射到宿主机的端口上,方便你在本地进行开发和测试。

  1. 连接到MySQL容器:使用以下命令进入MySQL容器:
docker exec -it mysql bash

参数说明:

  • docker exec: 执行在运行的Docker容器中的命令。
  • -it: 以交互式模式运行命令,并将终端连接到容器。
  • mysql: 指定要运行命令的Docker容器的名称或ID。
  • /bin/bash: 在容器中运行Bash shell,这将打开一个交互式终端,允许你在容器中执行命令。

这个命令会在MySQL容器中打开一个终端窗口,你可以在这个窗口中执行MySQL命令。

  1. 使用MySQL:在MySQL容器中,你可以使用mysql命令行客户端来连接MySQL服务器并执行SQL查询。例如,你可以使用以下命令连接到MySQL服务器:
mysql -u root -p

然后输入你设置的MySQL root用户的密码即可登录MySQL服务器。

这个流程可以让你在Docker上安装并运行MySQL容器,并将MySQL数据目录映射到宿主机上的目录。这样,即使你删除了MySQL容器,数据仍然会保存在宿主机上的目录中。

posted @ 2023-06-02 15:35  不想挨捶的牛  阅读(1021)  评论(0编辑  收藏  举报