Docker 简介
Docker 是一个开源的应用容器引擎,基于 Go 语言并遵从 Apache 2.0 协议开源。
什么是容器?
容器是一种轻量级的虚拟化技术,与传统虚拟机相比:
| 特性 | 容器 | 虚拟机 |
|---|---|---|
| 启动速度 | 毫秒级 | 分钟级 |
| 磁盘占用 | MB 级 | GB 级 |
| 性能 | 接近原生 | 有损耗 |
| 隔离级别 | 进程级 | 完全隔离 |
| 内核 | 共享宿主机内核 | 独立内核 |
核心概念
镜像(Image)
镜像是只读模板,包含运行应用所需的代码、运行环境、依赖库等。
# 查看本地镜像
docker images
# 拉取镜像
docker pull nginx:latest
# 构建镜像
docker build -t my-app:1.0 .
容器(Container)
容器是镜像的运行实例,可以启动、停止、删除。
# 运行容器
docker run -d --name web -p 80:80 nginx
# 查看运行中的容器
docker ps
# 停止容器
docker stop web
# 启动已停止的容器
docker start web
常用命令速查
# 镜像管理
docker images # 列出镜像
docker rmi nginx # 删除镜像
docker pull nginx # 拉取镜像
docker build -t app . # 构建镜像
# 容器管理
docker run -d nginx # 后台运行
docker exec -it web bash # 进入容器
docker logs -f web # 查看日志
docker cp file.txt web:/tmp/ # 复制文件
安装 Docker
# Ubuntu
curl -fsSL https://get.docker.com | bash
# 验证安装
docker --version
# 运行测试
docker run hello-world
