当前位置: 首页 > article >正文

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:
  1. 双击下载的 Docker Desktop Installer.exe 文件开始安装。
  2. 在安装向导中,勾选 Install required Windows components for WSL 2,以便安装 WSL 2 后端(推荐)。
  3. 点击 Install,等待安装完成。
  4. 安装完成后,可能需要重启计算机。
macOS:
  1. 打开下载的 Docker.dmg 文件。
  2. Docker.app 拖拽到 Applications 文件夹中。
  3. Applications 中找到 Docker.app,双击运行。
  4. 按照提示完成安装。

三、初次运行 Docker Desktop

  1. 启动 Docker Desktop

    • 双击桌面上的 Docker 图标,启动 Docker Desktop。
    • 首次运行可能需要一些初始化配置,耐心等待。
  2. 完成设置

    • 当 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。
  • 解决常见问题并优化使用体验。

http://www.kler.cn/a/488462.html

相关文章:

  • 【数据库系统概论】数据库恢复技术
  • 用c实现C++类(八股)
  • C++【深入底层,从零模拟实现string类】
  • 【Linux】模拟Shell命令行解释器
  • 初学者关于对机器学习的理解
  • IEC61850遥控-增强安全选控是什么?
  • 什么是Transformer模型中的KV缓存:上下文新增那之前计算的KV还可用,在原有基础上对新增的进行计算就行
  • opencv 学习(3)
  • js代理模式
  • 用c实现C++类(八股)
  • 【网络云SRE运维开发】2025第2周-每日【2025/01/09】小测-【第9章 VRRP原理及基本配置考试】理论和实操
  • UniAPP和Vue3生命周期hook
  • 【计算机网络】课程 实验二 交换机基本配置和VLAN 间路由实现
  • mysql和redis的最大连接数
  • Linux之线程池与单例模式
  • GPT-1模型详解及代码复现
  • 利用Python爬虫获取义乌购店铺所有商品列表:技术探索与实践
  • 开启Excel导航仪,跨表跳转不迷路-Excel易用宝
  • IntelliJ IDEA中Maven项目的配置、创建与导入全攻略
  • windows C#-泛型类型参数的约束详解(一)
  • 算法-盒子中小球的最大数量
  • C16.【C++ Cont】string类字符串的关系运算和与string有关的函数
  • JavaScript系列(10)-- Map数据结构专题
  • 如何确保获取的淘宝详情页数据的准确性和时效性?
  • 基于Ubuntu2404脚本搭建openstackC版-ovn网络驱动
  • 设计模式 创建型 抽象工厂模式(Abstract Factory)与 常见技术框架应用 解析