Docker, Redis, and MySQL 简介

Docker

Docker 是一种容器化技术,可以把应用程序以及它所依赖的运行环境打包在一起,形成一个独立的、轻量级的、可移植的容器。你可以把容器想象成一个独立的“小房间”,里面包含了程序运行所需的一切,比如代码、库、配置等。

轻量级: 容器共享宿主机的操作系统内核,比传统的虚拟机更轻便、启动更快。

可移植: 容器可以在任何支持 Docker 的环境中运行,无论是在你的本地电脑、公司的服务器,还是在云服务上。

隔离性: 每个容器都是独立的,互不影响,这能有效避免不同应用之间的冲突。

Redis

Redis 是一个开源的、内存中的数据结构存储系统。它可以作为数据库、缓存和消息代理使用。Redis 的数据都存储在内存中,因此读写速度非常快。

键值对存储: 数据以键值对(key-value)的形式存储,非常简单高效。

多种数据结构: 支持字符串(string)、哈希(hash)、列表(list)、集合(set)和有序集合(sorted set)等多种数据结构。

高性能: 适合用作缓存,能显著提高应用的响应速度。

MySQL

MySQL 是一个开源的关系型数据库管理系统。它使用结构化查询语言(SQL)来管理数据。MySQL 的数据以表的形式组织,每个表包含多行和多列。

关系型: 数据以表格形式存储,并通过键(主键、外键)建立表与表之间的关系。

数据一致性: 严格遵循 ACID(原子性、一致性、隔离性、持久性)原则,保证数据操作的可靠性。

广泛应用: 适用于需要存储大量结构化数据的场景,例如网站的用户信息、订单数据等。

从零开始安装 Docker、Redis 和 MySQL

下面我们将分步介绍如何在你的电脑上从零开始,使用 Docker 来安装和运行 Redis 和 MySQL。

第一步:安装 Docker

根据你的操作系统,选择对应的安装方式。

对于 Windows 和 macOS 用户:

最简单的方法是下载并安装 Docker Desktop。它包含了 Docker Engine、Docker CLI 和其他工具,提供了一个图形界面来管理容器。

访问 Docker Desktop 官网。

下载适用于你操作系统的安装包。

运行安装程序,按照提示完成安装。安装完成后,重启电脑。

打开终端(在 Windows 上是 Command Prompt 或 PowerShell,在 macOS 上是 Terminal),运行以下命令,如果能看到版本信息,说明 Docker 安装成功:

docker --version

验证安装:

docker --version

第二步:通过 Docker 安装和运行 Redis

安装 Docker 后,所有操作都将通过命令行进行。

打开终端,运行以下命令来拉取(下载)Redis 镜像:

docker pull redis

pull 命令会从 Docker Hub(一个公共的镜像仓库)下载 Redis 官方镜像。

下载完成后,运行以下命令来创建一个并启动一个 Redis 容器:

docker run --name my-redis -p 6379:6379 -d redis

–name my-redis: 给容器起个名字,方便管理。

-p 6379:6379: 将宿主机的 6379 端口映射到容器内的 6379 端口。这样你就可以通过 localhost:6379 来访问 Redis 了。

-d: 让容器在后台运行(detached mode)。

redis: 指定使用哪个镜像来创建容器。

验证 Redis 是否正在运行:

docker ps

如果看到一个名为 my-redis 的容器,说明它已经成功运行了。

第三步:通过 Docker 安装和运行 MySQL

打开终端,运行以下命令来拉取 MySQL 镜像:

docker pull mysql:8.0

我们指定了版本号 8.0,这样可以确保使用稳定且最新的版本。

下载完成后,运行以下命令来创建并启动一个 MySQL 容器:

docker run --name my-mysql -e MYSQL_ROOT_PASSWORD=your_password -p 3306:3306 -d mysql:8.0

–name my-mysql: 给容器起个名字。

-e MYSQL_ROOT_PASSWORD=your_password: 设置 MySQL root 用户的密码。请将 your_password 替换为你自己的密码。

-p 3306:3306: 将宿主机的 3306 端口映射到容器内的 3306 端口。MySQL 默认端口就是 3306。

-d: 在后台运行容器。

mysql:8.0: 指定使用 MySQL 8.0 镜像。

验证 MySQL 是否正在运行:

docker ps

如果看到一个名为 my-mysql 的容器,说明它已经成功运行了。