一、Docker是什么?
Docker是一款开源的容器化平台,它能将应用程序及其所有依赖打包成一个独立的“容器”,就像把货物装进集装箱一样。这个容器可以在任何支持Docker的环境中运行,无论本地开发机、测试服务器还是云端,都能保持环境一致性。
与传统虚拟机相比,Docker的优势在于:
- 轻量级:共享宿主机内核,资源占用极低
- 启动快:秒级启动,比虚拟机快10倍以上
- 高隔离:容器间互不干扰,保障应用安全
- 易扩展:支持快速复制和水平扩展
二、Docker核心概念
1. 镜像(Image)
镜像相当于容器的“模板”,包含应用运行所需的代码、库、环境变量等。例如,一个Nginx镜像已经预装好Web服务器环境,用户无需手动安装。
2. 容器(Container)
容器是镜像的运行实例,就像从模板创建的虚拟机。每个容器都是独立的运行环境,可启动、停止、删除。
3. 仓库(Repository)
仓库是存储镜像的地方,类似代码托管平台。Docker Hub是官方公共仓库,用户也可以搭建私有仓库。
三、Docker安装与配置
1. 安装Docker
# Ubuntu/Debian系统
sudo apt-get update
sudo apt-get install docker.io
sudo systemctl enable --now docker
2. 镜像加速
国内用户可配置阿里云镜像加速器:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://fy1qinab.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
四、Docker常用命令
1. 镜像操作
docker pull nginx # 拉取最新Nginx镜像
docker images # 查看本地镜像列表
docker rmi nginx # 删除指定镜像
2. 容器操作
docker run -d -p 80:80 nginx # 后台运行Nginx容器,映射80端口
docker ps # 查看运行中的容器
docker stop <容器ID> # 停止容器
docker rm <容器ID> # 删除容器
3. 高级操作
docker exec -it <容器ID> bash # 进入容器终端
docker logs <容器ID> # 查看容器日志
五、实战演示:运行第一个Docker容器
- 拉取镜像:
docker pull nginx
- 运行容器:
docker run -d -p 8080:80 --name my-nginx nginx
-d
:后台运行-p 8080:80
:将容器80端口映射到主机8080端口--name my-nginx
:指定容器名称
- 验证运行:
打开浏览器访问http://localhost:8080
,看到Nginx欢迎页面即成功。
六、为什么选择Docker?
- 环境一致性:开发、测试、生产环境完全一致
- 快速部署:从代码到运行仅需几分钟
- 节省资源:单台服务器可运行数千个容器
- 易于维护:更新镜像即可完成应用升级
七、总结
Docker通过容器化技术彻底改变了软件交付方式,让开发者无需再为环境配置问题烦恼。掌握Docker的基础操作,你将能更高效地构建、部署和管理应用。后续可以学习Docker Compose进行多容器编排,或深入研究Dockerfile自定义镜像构建,开启云原生之旅!