Docker 启动 MySQL 容器

5,358 阅读1分钟

什么是 Docker?

Docker 是一种工具,它让容器创建,部署和运行应用程序变得更加容易。 容器使开发人员可以将应用程序与所需的所有部分(如库和其他依赖项)打包在一起,并将其作为一个包进行部署。 这样,借助容器,开发人员可以放心,该应用程序可以在任何其他Linux机器上运行,而不用管该机器的环境配置。

安装 Docker Desktop

前往官方网站:www.docker.com/get-started

根据操作系统,下载并安装对应的 Docker Desktop。

验证 Docker 运行状态

打开 Docker Desktop 应用并授权,稍等 1-2 分钟,状态栏会显示 Docker 图标,点击后可看到:

验证 Docker 状态,终端输入。

$ docker info

结果:

Client:
 Debug Mode: false

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
  
...

 Product License: Community Engine

这说明 Docker 正常运行.

启动 MySQL 容器

创建一个 Docker VolumeVolume 是用来储存状态的,这里就是用来存储数据的。如此一来,就算我们不小心移除了 MySQL 容器,数据依然会保留下来:

$ docker volume create tinylearn-vol

启动容器:

$ docker run --name tinylearn-mysql \
	--restart=always \
	-v tinylearn-vol:/var/lib/mysql \
	-p 3306:3306 \
	-e MYSQL_ROOT_PASSWORD=my_root_password \
	-e MYSQL_DATABASE=tinylearn \
	-e MYSQL_USER=tinylearn \
	-e MYSQL_PASSWORD=my_password \
	-d mysql:8.0.18

这里有几个环境变量,它们的值可以自行修改:

  • MYSQL_ROOT_PASSWORD - 根用户密码
  • MYSQL_DATABASE - 首次启动后创建数据库的名称
  • MYSQL_USER · MYSQL_PASSWORD - 用户名和密码

想了解更多配置细节,可以访问:hub.docker.com/_/mysql

首次启动时,由于没有 MySQL 镜像,可能需要花 10 分钟左右下载(具体时间取决于网络环境):

下载完毕后会自动启动容器,我们可以通过以下命令查询容器状态:

$ docker ps

结果:

下一步

请参考 如何使用 MySQL Workbench 图形化工具连接数据库?

在此,我们先记下用户名和密码,他们分别是命令

$ docker run --name tinylearn-mysql \
	--restart=always \
	-v tinylearn-vol:/var/lib/mysql \
	-p 3306:3306 \
	-e MYSQL_ROOT_PASSWORD=my_root_password \
	-e MYSQL_DATABASE=tinylearn \
	-e MYSQL_USER=tinylearn \
	-e MYSQL_PASSWORD=my_password \
	-d mysql:8.0.18

中环境变量 MYSQL_USERMYSQL_PASSWORD 对应的值,后面连接数据库时会用到。