🐳 Docker 是用来干嘛的?
Docker 是一个 容器化 工具,它可以让你把应用程序和它所需要的环境(比如运行时、依赖、库等)打包成 一个独立的容器,然后这个容器可以在任何地方运行,不管是你的电脑、本地服务器,还是云端。
🚀 为什么要用 Docker?
1️⃣ 解决“在我电脑上能跑,但在服务器上跑不了”的问题
👉 以前,我们开发时用的是 Windows/Mac,但服务器一般是 Linux,环境可能完全不同,导致 应用在本地能跑,但部署到服务器就炸了。
👉 Docker 让应用运行在 相同的容器环境 中,不管在哪个系统都能保证一致性。
2️⃣ 快速搭建开发环境
👉 传统方式安装 MySQL、Redis、Node.js 等环境,可能需要 手动下载、配置,非常麻烦。
👉 Docker 只需要 一行命令,就能快速启动服务,比如:
docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:latest
上面的命令 5 秒内 启动一个 MySQL 服务器,比手动安装快得多!
3️⃣ 轻量级,节省资源
👉 传统虚拟机(VM)需要安装整个操作系统,占用 几 GB 内存,而 Docker 容器共享宿主机的内核,通常 只有几十 MB,更轻量、更快。
4️⃣ 方便 CI/CD(持续集成 & 持续部署)
👉 以前,部署一个应用可能需要手动打包、上传代码、配置环境。
👉 使用 Docker,可以直接 打包成镜像,一键部署,配合 Kubernetes(K8s) 还能实现 自动扩容。
💡 Docker 的核心概念
名称 | 作用 |
---|---|
镜像(Image) | 就像是应用的“快照”或“模板”,包含了所有运行应用的依赖和配置。 |
容器(Container) | 由镜像创建的一个独立运行环境,每个容器都是隔离的。 |
Dockerfile | 用来定义一个镜像的构建脚本,比如要安装哪些软件、配置什么参数。 |
Docker Compose | 用来管理多个容器(比如一个 Web 服务 + 数据库)。 |
📌 Docker 快速上手
1️⃣ 安装 Docker
-
Windows & Mac:Docker 官网 下载并安装 Docker Desktop
-
Linux(Ubuntu 例子):
sudo apt update sudo apt install docker.io
2️⃣ 运行第一个容器
docker run hello-world
👉 这会拉取一个 hello-world
镜像,并运行一个简单的“Hello, Docker!”容器。
3️⃣ 常用 Docker 命令
docker ps # 查看运行中的容器
docker ps -a # 查看所有容器(包括已停止的)
docker images # 查看本地镜像
docker pull nginx # 拉取 nginx 镜像
docker run -d -p 8080:80 nginx # 运行 Nginx 容器,映射端口 8080
docker stop 容器ID # 停止容器
docker rm 容器ID # 删除容器
docker rmi 镜像ID # 删除镜像
🎯 总结
✔ Docker = 轻量级虚拟机,但比传统虚拟机更快、更节省资源。
✔ 解决“环境不同导致程序跑不了”的问题,不管在哪部署,环境都是一致的。
✔ 方便 CI/CD 和云端部署,一键打包,随时随地运行。
✔ 适用于前端、后端、数据库、微服务等各种应用。
Docker 绝对值得学!💪🚀