您好,登录后才能下订单哦!
# Docker的安装步骤及用法介绍
## 一、Docker概述
### 1.1 什么是Docker
Docker是一个开源的容器化平台,允许开发者将应用程序及其依赖打包到轻量级、可移植的容器中。与传统虚拟机不同,Docker容器共享主机操作系统内核,具有以下优势:
- **轻量高效**:容器仅包含应用运行所需的最小依赖
- **跨平台一致性**:"一次构建,到处运行"
- **快速启动**:秒级启动时间
- **资源隔离**:通过cgroups和命名空间实现
### 1.2 核心概念
- **镜像(Image)**:只读模板,包含运行应用所需的所有文件
- **容器(Container)**:镜像的运行实例
- **仓库(Registry)**:存储和分发镜像的服务(如Docker Hub)
- **Dockerfile**:用于自动化构建镜像的脚本文件
## 二、Docker安装指南
### 2.1 Windows系统安装
#### 系统要求
- Windows 10 64位(专业版/企业版/教育版)
- 启用Hyper-V和容器功能
- 至少4GB内存
#### 安装步骤
1. 下载Docker Desktop安装包:
```powershell
# 官方下载地址
https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe
docker --version
docker-compose --version
docker run hello-world
下载Docker.dmg安装包:
# 官方下载地址
https://desktop.docker.com/mac/main/amd64/Docker.dmg
双击挂载镜像并拖拽到Applications文件夹
首次运行时需在系统偏好设置中授权
配置镜像加速(推荐):
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
# 1. 卸载旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc
# 2. 安装依赖
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
# 3. 添加GPG密钥
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 4. 设置仓库
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 5. 安装Docker引擎
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 6. 验证安装
sudo docker run hello-world
# 7. 添加用户到docker组(避免每次sudo)
sudo usermod -aG docker $USER
newgrp docker
# 搜索镜像
docker search nginx
# 拉取镜像
docker pull nginx:latest
# 列出本地镜像
docker images
# 删除镜像
docker rmi <image_id>
# 构建镜像(需Dockerfile)
docker build -t myapp:v1 .
# 运行容器
docker run -d -p 8080:80 --name mynginx nginx
# 参数说明:
# -d: 后台运行
# -p: 端口映射(主机端口:容器端口)
# --name: 指定容器名称
# 查看运行中的容器
docker ps
# 查看所有容器(包括停止的)
docker ps -a
# 停止/启动容器
docker stop mynginx
docker start mynginx
# 进入容器终端
docker exec -it mynginx bash
# 查看容器日志
docker logs mynginx
# 删除容器
docker rm mynginx
# 创建数据卷
docker volume create mydata
# 挂载数据卷
docker run -v mydata:/app/data myapp
# 绑定挂载主机目录
docker run -v /host/path:/container/path myapp
# Dockerfile示例
FROM node:16
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
构建并运行:
docker build -t mynodeapp .
docker run -d -p 3000:3000 mynodeapp
# docker-compose.yml
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
redis:
image: "redis:alpine"
启动服务:
docker-compose up -d
docker run --name mysql_db -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:8.0
docker run --name wp -e WORDPRESS_DB_HOST=db \
-e WORDPRESS_DB_USER=root \
-e WORDPRESS_DB_PASSWORD=123456 \
-p 8080:80 \
--link mysql_db:db \
-d wordpress
使用.dockerignore
文件排除无关文件
多阶段构建减少最终镜像大小 “`dockerfile
FROM node:16 AS builder WORKDIR /app COPY . . RUN npm install && npm run build
FROM nginx:alpine COPY –from=builder /app/dist /usr/share/nginx/html
### 5.2 安全实践
- 避免使用root用户运行容器
- 定期更新基础镜像
- 扫描镜像漏洞:
```bash
docker scan myimage
命令 | 说明 |
---|---|
docker stats |
查看容器资源使用情况 |
docker system prune |
清理无用资源 |
docker inspect |
查看容器详细信息 |
docker save/load |
镜像导出/导入 |
症状:无法连接到Docker守护进程
解决方案:
# 检查服务状态
sudo systemctl status docker
# 启动服务
sudo systemctl start docker
症状:端口已被占用
错误
解决方案:
# 查找占用进程
sudo lsof -i :8080
# 或者更改映射端口
docker run -p 8081:80 nginx
清理Docker资源:
# 删除所有停止的容器
docker container prune
# 删除所有未使用的镜像
docker image prune -a
提示:本文所有命令均在Docker 20.10+版本测试通过,不同版本可能存在语法差异。建议读者在实际操作前先通过
docker --version
确认版本信息。 “`
这篇文章总计约3600字,采用Markdown格式编写,包含: 1. 完整的Docker安装指南(Windows/macOS/Linux) 2. 核心概念和操作命令详解 3. 实战应用示例和最佳实践 4. 常见问题解决方案 5. 规范的代码块和表格展示
可根据需要调整内容细节或补充特定操作系统的安装说明。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。