Docker Desktop的使用方法
一、Docker Desktop 简介
Docker Desktop 是 Docker 官方为开发者提供的桌面应用程序,支持在 Windows 和 macOS 上轻松构建、运行和共享容器化应用程序。它集成了 Docker 引擎、Docker CLI 客户端以及 Docker Compose 等工具,方便您在本地开发和测试。
二、Docker Desktop 的安装
1. 系统要求
- Windows:
- Windows 10 64位:专业版、企业版或教育版(版本 1903 或更高)。
- 启用了 Hyper-V 和 容器 功能。
- macOS:
- macOS 10.15 及以上版本。
2. 下载 Docker Desktop
- 前往 Docker 官方下载页面。
- 根据您的操作系统,下载相应的安装程序。
3. 安装步骤
Windows:
- 双击下载的
Docker Desktop Installer.exe
文件开始安装。 - 在安装向导中,勾选 Install required Windows components for WSL 2,以便安装 WSL 2 后端(推荐)。
- 点击 Install,等待安装完成。
- 安装完成后,可能需要重启计算机。
macOS:
- 打开下载的
Docker.dmg
文件。 - 将 Docker.app 拖拽到 Applications 文件夹中。
- 在 Applications 中找到 Docker.app,双击运行。
- 按照提示完成安装。
三、初次运行 Docker Desktop
-
启动 Docker Desktop
- 双击桌面上的 Docker 图标,启动 Docker Desktop。
- 首次运行可能需要一些初始化配置,耐心等待。
-
完成设置
- 当 Docker 图标变为稳定的 鲸鱼图标 时,表示 Docker 已经启动并正常运行。
- 在 Windows 上,您可以在任务栏右下角看到 Docker 图标;在 macOS 上,可以在菜单栏看到。
四、验证 Docker 是否安装成功
打开 命令提示符(CMD)、PowerShell 或 终端(Terminal),输入以下命令:
docker version
如果显示了 Docker 的版本信息,说明安装成功。
五、运行您的第一个容器
1. 运行 Hello World 容器
docker run hello-world
- 该命令会从 Docker Hub 上拉取
hello-world
镜像,并在容器中运行。 - 如果成功,会在终端中看到一段欢迎信息。
2. 理解命令
docker run
:运行一个新的容器。hello-world
:要运行的镜像名称。
六、使用 Docker 命令行
1. 常用命令
-
查看已下载的镜像:
docker images
-
查看正在运行的容器:
docker ps
-
查看所有容器(包括已停止):
docker ps -a
-
停止容器:
docker stop <容器ID或名称>
-
启动容器:
docker start <容器ID或名称>
-
删除容器:
docker rm <容器ID或名称>
-
删除镜像:
docker rmi <镜像ID或名称>
2. 运行 Web 应用示例
-
拉取 Nginx 镜像:
docker pull nginx
-
运行 Nginx 容器并映射端口:
docker run -d -p 8080:80 nginx
-d
:后台运行容器。-p 8080:80
:将主机的 8080 端口映射到容器的 80 端口。
-
测试
- 在浏览器中访问
http://localhost:8080
,如果看到 Nginx 欢迎页面,说明成功运行。
- 在浏览器中访问
七、使用 Docker Dashboard
Docker Desktop 提供了图形化的 Docker Dashboard,方便您管理容器、镜像、数据卷和网络。
1. 打开 Dashboard
- 点击任务栏(Windows)或菜单栏(macOS)中的 Docker 图标。
- 选择 Dashboard。
2. 管理容器
- 查看容器列表: 在左侧导航栏选择 Containers。
- 启动/停止容器: 点击容器右侧的启动或停止按钮。
- 查看容器日志: 点击容器名称,选择 Logs 选项卡。
- 删除容器: 停止容器后,点击右侧的删除按钮。
3. 管理镜像
- 查看镜像列表: 在左侧导航栏选择 Images。
- 删除镜像: 点击镜像右侧的删除按钮。
- 拉取新镜像: 点击右上角的 Pull 按钮,输入镜像名称。
八、使用 Docker Compose
Docker Compose 允许您使用 YAML 文件来定义和运行多个容器组成的应用程序。
1. 创建 docker-compose.yml
文件
在项目目录下创建 docker-compose.yml
,示例如下:
version: '3'
services:
web:
image: nginx
ports:
- "8080:80"
redis:
image: redis
2. 启动服务
在终端中,导航到 docker-compose.yml
文件所在的目录,运行:
docker-compose up -d
- 该命令会根据配置启动 Nginx 和 Redis 两个服务。
3. 查看服务状态
docker-compose ps
4. 停止服务
docker-compose down
九、编写自定义镜像
1. 创建 Dockerfile
在项目目录下创建名为 Dockerfile
的文件,示例如下:
# 使用官方的 Node.js 镜像作为基础
FROM node:14
# 设置工作目录
WORKDIR /app
# 复制当前目录下的所有文件到工作目录
COPY . /app
# 安装项目依赖
RUN npm install
# 暴露应用运行的端口
EXPOSE 3000
# 启动应用
CMD ["npm", "start"]
2. 构建镜像
docker build -t my-node-app .
-t
:为镜像指定名称。.
:表示 Dockerfile 在当前目录。
3. 运行容器
docker run -d -p 3000:3000 my-node-app
- 将容器的 3000 端口映射到主机的 3000 端口。
十、数据卷和持久化存储
1. 创建数据卷
docker volume create my-volume
2. 在容器中使用数据卷
docker run -d -v my-volume:/data busybox
-v my-volume:/data
:将数据卷挂载到容器的/data
目录。
3. 管理数据卷
-
查看数据卷列表:
docker volume ls
-
删除数据卷:
docker volume rm my-volume
十一、网络和容器通信
1. 创建自定义网络
docker network create my-network
2. 在自定义网络中运行容器
docker run -d --name app1 --network my-network nginx
docker run -d --name app2 --network my-network redis
- 同一网络中的容器可以通过容器名称互相通信。
3. 测试容器间通信
-
进入
app1
容器:docker exec -it app1 /bin/bash
-
在容器内,尝试连接
app2
:ping app2
十二、Docker 常见问题解答
1. Docker 容器无法启动
-
原因可能是:
- 镜像拉取不完整或损坏。
- 端口被占用。
- 配置文件有误。
-
解决方法:
- 重新拉取镜像:
docker pull <镜像名称>
。 - 检查端口占用:
netstat -ano | findstr <端口号>
(Windows)。 - 查看容器日志:
docker logs <容器ID或名称>
。
- 重新拉取镜像:
2. 镜像拉取速度慢
-
原因:
- 访问 Docker Hub 受到网络限制。
-
解决方法:
-
配置镜像加速器,例如使用阿里云或其他国内的镜像源。
-
配置方法:
- 打开 Docker Desktop 设置。
- 选择 Docker Engine 选项卡。
- 在配置文件中添加
"registry-mirrors": ["https://<加速器地址>"]
。 - 保存并重启 Docker。
-
3. 权限问题
-
Windows 上运行命令提示权限不足
- 以管理员身份运行 PowerShell 或 CMD。
-
Linux 或 macOS 上需要使用 sudo
- 在命令前加
sudo
,或者将当前用户加入docker
用户组。
- 在命令前加
十三、资源清理
长时间使用后,系统中可能会积累一些不再需要的容器、镜像和数据卷。
1. 清理停止的容器
docker container prune
2. 清理未使用的镜像
docker image prune
3. 清理未使用的网络
docker network prune
4. 一键清理所有未使用的资源
docker system prune
十四、学习资源
-
官方文档:
- Docker Documentation
- Docker Desktop for Windows
- Docker Desktop for Mac
-
学习教程:
- Docker 从入门到实践
- 菜鸟教程 - Docker 教程
-
视频教程:
- 在 B 站搜索 “Docker 教程”,有很多优质的中文视频教程。
Docker Desktop 为开发者提供了强大的容器化应用开发环境,方便快速地构建、测试和部署应用。通过上述步骤,您应该能够:
- 安装并配置 Docker Desktop。
- 使用命令行和图形界面管理容器和镜像。
- 构建自定义镜像和使用 Docker Compose。
- 解决常见问题并优化使用体验。