docker 安装(建议收藏)
💡一则或许对你有用的小广告
欢迎加入小哈的星球 ,你将获得:专属的项目实战(已更新的所有项目都能学习) / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论
- 新开坑项目:《Spring AI 项目实战》 正在持续爆肝中,基于 Spring AI + Spring Boot 3.x + JDK 21..., 点击查看 ;
- 《从零手撸:仿小红书(微服务架构)》 已完结,基于
Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...
,点击查看项目介绍 ;演示链接: http://116.62.199.48:7070 ;- 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;
截止目前, 星球 内专栏累计输出 90w+ 字,讲解图 3441+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 3100+ 小伙伴加入学习 ,欢迎点击围观
在现代软件开发中,Docker 作为容器化技术的代表,已经成为开发、测试和部署环境的一站式解决方案。无论是构建微服务架构,还是解决多环境依赖冲突问题,Docker 都能通过标准化的容器技术简化流程。然而,对于编程初学者而言,docker 安装可能是接触这一技术的第一道门槛。本文将从基础概念出发,逐步引导读者完成 Docker 的安装与配置,并通过实际案例演示其核心功能,帮助读者快速掌握这一工具。
Docker 安装前的准备工作:概念解析与环境要求
什么是 Docker?
Docker 是一个开源的容器化平台,通过将应用程序及其依赖打包到一个独立的容器中,实现跨环境的一致性运行。想象一个集装箱(Container)——它能装载各种货物(应用程序),无论被运往何处(不同服务器或操作系统),内部环境始终一致。这就是 Docker 的核心思想:环境隔离与标准化。
安装前的环境要求
Docker 支持多种操作系统,但需满足以下条件:
- 操作系统:主流 Linux 发行版(如 Ubuntu、CentOS)、macOS、Windows 10 或更高版本。
- 硬件资源:至少 2GB 内存和 10GB 硬盘空间(具体需求取决于容器规模)。
- 网络环境:安装过程中需连接互联网,用于下载官方镜像和组件。
Docker 安装步骤详解:分系统操作指南
Ubuntu 系统安装(以 Ubuntu 20.04 为例)
-
更新软件源并安装依赖:
sudo apt-get update sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
此处的命令类似于“清理房间并准备工具箱”,为后续安装打下基础。
-
添加 Docker 官方 GPG 密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
GPG 密钥的作用类似于“数字签名”,确保下载的软件包真实可信。
-
添加 Docker 源并安装:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io
-
验证安装:
sudo docker run hello-world
若输出“Hello from Docker!”,则表示安装成功。
CentOS 系统安装(以 CentOS 7 为例)
-
禁用防火墙与 SELinux(非强制,但建议简化环境):
sudo systemctl stop firewalld sudo setenforce 0
-
安装依赖包:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
-
添加 Docker 源并安装:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install docker-ce docker-ce-cli containerd.io
-
启动 Docker 服务:
sudo systemctl start docker sudo systemctl enable docker
macOS 与 Windows 系统安装
对于 macOS 或 Windows 用户,安装过程更为简单:
- 下载 Docker Desktop:访问 Docker 官网 ,根据系统类型下载安装包。
- 运行安装向导:按照提示完成安装,启动后 Docker 图标会出现在系统托盘/菜单栏。
安装后的配置与优化
配置镜像加速(以阿里云为例)
国内用户常因网络问题导致下载速度慢,可通过配置镜像加速器优化体验:
sudo mkdir -p /etc/docker
sudo nano /etc/docker/daemon.json
在文件中添加以下内容:
{
"registry-mirrors": ["https://<你的阿里云镜像加速器>.mirror.aliyuncs.com"]
}
保存后重启 Docker 服务:
sudo systemctl restart docker
设置 Docker 开机自启
sudo systemctl enable docker
调整资源限制(内存与 CPU)
若需限制容器资源,可在启动时指定参数:
docker run -m 512m --cpus=2 <镜像名>
此处的 -m
控制内存,--cpus
控制 CPU 核心数,类似为容器分配“房间大小”。
实战案例:通过 Docker 快速搭建 Nginx 服务
拉取镜像并运行容器
docker pull nginx
docker run -d -p 80:80 --name my-nginx nginx
打开浏览器访问 http://localhost
,即可看到 Nginx 的默认页面。
验证容器状态与日志
docker ps
docker logs my-nginx
常见问题与解决方案
问题 1:安装时提示权限不足
解决方法:
sudo usermod -aG docker $USER
newgrp docker
问题 2:端口被占用导致容器无法启动
解决方法:
sudo netstat -tulnp | grep :80
sudo kill -9 <进程ID>
问题 3:磁盘空间不足
解决方法:
docker system prune -a
进阶技巧:Docker Compose 管理多容器应用
Docker Compose 可简化多容器应用的部署。例如,创建一个 docker-compose.yml
文件:
version: '3'
services:
web:
image: nginx
ports:
- "80:80"
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: example
执行以下命令启动:
docker-compose up -d
结论:Docker 安装与应用的延伸价值
通过本文,读者已掌握 Docker 的安装方法、基础操作及实际应用。Docker 的核心价值不仅在于简化开发环境,更在于其对微服务架构、持续集成/交付(CI/CD)的赋能。建议读者通过以下方式进一步学习:
- 参考官方文档,深入理解 Dockerfile 编写与镜像构建。
- 实践部署个人项目,体会容器化带来的效率提升。
- 加入社区交流(如 Stack Overflow、Docker 官方论坛),解决复杂场景问题。
掌握 Docker 安装与使用,是迈向云原生时代的重要一步。希望本文能为你的技术旅程提供清晰的路径指引。