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 的容器,说明它已经成功运行了。