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

动手实践:安装Docker并运行你的第一个Web应用

动手实践:安装Docker并运行你的第一个Web应用

在这里插入图片描述

引言

在上一篇文章《告别“在我电脑上能跑”:Docker入门与核心概念解析》中,我们深入探讨了容器化的概念,理解了 Docker 如何通过镜像、容器和仓库这三大核心要素,解决了“环境不一致”的顽疾。我们还通过运行 hello-world 容器,初步感受了 Docker 的魔力。

理论是基石,实践是桥梁。本篇文章将带领你从零开始,在自己的电脑上安装 Docker Desktop,并手把手教你如何运行一个真实的 Web 应用容器。通过本篇的学习,你将:

  • 了解 Docker Desktop 的安装要求和步骤。
  • 掌握 Docker 最常用的镜像和容器管理命令。
  • 亲手部署一个 Nginx Web 服务器,并通过浏览器访问它。

准备好了吗?让我们一起踏上 Docker 的实践之旅!

第一章:为你的操作系统选择合适的Docker版本

在开始安装之前,我们需要了解 Docker 的不同版本以及它们适用的场景。

1.1 Docker Desktop vs. Docker Engine

  • Docker Desktop:这是 Docker 官方为 Windows 和 macOS 用户提供的一站式解决方案。它不仅包含了 Docker Engine(Docker 的核心运行时),还集成了 Kubernetes、Docker Compose、Credential Helper 以及一个友好的图形化用户界面 (GUI)。对于个人开发者、学习者以及在本地进行开发和测试的用户来说,Docker Desktop 是最佳选择。
  • Docker Engine:这是 Docker 的核心组件,一个轻量级的运行时和打包工具。它主要用于 Linux 服务器环境,通常通过命令行进行操作。如果你是在 Linux 服务器上部署生产环境应用,或者希望对 Docker 有更底层的控制,那么 Docker Engine 是你的选择。

本文将重点介绍 Docker Desktop 的安装,因为它更适合大多数桌面用户。

1.2 系统要求检查

在安装 Docker Desktop 之前,请确保你的系统满足以下最低要求:

  • Windows
    • Windows 10 64位:Home、Pro、Enterprise 或 Education 版本(2004 版本或更高)。
    • 必须开启 WSL 2 (Windows Subsystem for Linux 2)。这是 Docker Desktop 在 Windows 上运行的关键技术。
    • 至少 4GB RAM。
    • 开启硬件虚拟化(通常在 BIOS/UEFI 设置中)。
  • macOS
    • macOS 10.15 “Catalina” 或更高版本。
    • 至少 4GB RAM。
    • 根据你的 Mac 芯片类型(Intel 或 Apple Silicon),选择对应的安装包。

第二章:手把手安装 Docker Desktop

2.1 Windows 平台安装指南

对于 Windows 用户,安装 Docker Desktop 最关键的一步是确保 WSL 2 已正确配置。

步骤一:开启 WSL 2

WSL 2 允许 Windows 原生运行 Linux 二进制文件,为 Docker Desktop 提供了高性能的 Linux 环境。

  1. 以管理员身份打开 PowerShell 或命令提示符。
  2. 执行以下命令安装 WSL 2(如果尚未安装):
    wsl --install
    
    这个命令会自动安装 WSL 所需的组件,包括 Ubuntu Linux 发行版。
  3. 设置 WSL 2 为默认版本:
    wsl --set-default-version 2
    
    如果遇到错误,可能需要手动更新 WSL 内核。请访问微软官方文档获取最新指引。

步骤二:下载并安装 Docker Desktop

  1. 访问 Docker 官方网站下载 Docker Desktop for Windows 安装包:
    https://www.docker.com/products/docker-desktop
  2. 运行下载的安装程序。
  3. 在安装向导中,确保勾选了“Use WSL 2 instead of Hyper-V (recommended)”选项。 这是确保 Docker Desktop 正常运行的关键。
  4. 按照提示完成安装。安装完成后,可能需要重启电脑。

步骤三:启动与验证

  1. 重启电脑后,从桌面快捷方式或开始菜单启动 Docker Desktop。
  2. 等待 Docker Desktop 启动完成。 你会看到系统托盘(右下角)的鲸鱼图标从灰色变为绿色,表示 Docker Engine 正在运行。
  3. 打开你的终端(PowerShell 或 CMD),输入以下命令进行验证:
    docker --version
    docker ps
    
    如果 docker --version 显示了 Docker 版本信息,docker ps 显示了空的容器列表(或只显示标题行),则说明 Docker Desktop 已成功安装并运行。

2.2 macOS 平台安装指南

对于 macOS 用户,安装过程相对简单。

步骤一:下载 Docker Desktop for Mac

  1. 访问 Docker 官方网站下载 Docker Desktop for Mac 安装包:
    https://www.docker.com/products/docker-desktop
    请务必根据你的 Mac 芯片类型(Intel 或 Apple Silicon)选择正确的安装包。

步骤二:安装

  1. 双击下载的 .dmg 文件。
  2. 将 Docker.app 拖拽到“应用程序 (Applications)”文件夹中。
  3. 关闭安装窗口并弹出 .dmg 文件。

步骤三:启动与验证

  1. 从“应用程序”文件夹或 Launchpad 启动 Docker。
  2. 首次启动时,Docker Desktop 会请求必要的权限。 按照提示进行授权。
  3. 等待 Docker Desktop 启动完成。 系统菜单栏的鲸鱼图标会从灰色变为绿色。
  4. 打开终端 (Terminal.app),输入以下命令进行验证:
    docker --version
    docker ps
    
    如果显示了 Docker 版本信息和空的容器列表,则说明 Docker Desktop 已成功安装并运行。

第三章:Docker 常用命令入门

现在 Docker 已经安装好了,让我们来学习一些最常用的 Docker 命令,它们将是你管理镜像和容器的“瑞士军刀”。

3.1 镜像相关命令

  • docker images列出本地所有已下载的镜像。
    docker images
    # 示例输出:
    # REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
    # ubuntu       20.04     a2a15febcdf2   2 weeks ago    77.8MB
    # nginx        latest    0e611796e381   3 weeks ago    142MB
    
  • docker pull [镜像名]:[标签]从 Docker Hub 或其他仓库拉取(下载)一个镜像到本地。 如果不指定标签,默认拉取 latest 版本。
    docker pull ubuntu:latest
    docker pull redis
    
  • docker rmi [镜像ID或镜像名]删除一个或多个本地镜像。 只有当没有容器使用该镜像时才能删除。
    docker rmi ubuntu:latest
    

3.2 容器相关命令

  • docker run [选项] [镜像名]这是最核心的命令,用于创建并启动一个容器。
    • docker run -it ubuntu /bin/bash:创建一个基于 ubuntu 镜像的容器,并进入其交互式终端。
  • docker ps列出所有正在运行的容器。
    docker ps
    # 示例输出:
    # CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
    # ... (如果正在运行容器,会显示在这里)
    
  • docker ps -a列出所有容器,包括已停止的。
  • docker stop [容器ID或容器名]停止一个运行中的容器。
    docker stop my-nginx-container
    
  • docker start [容器ID或容器名]启动一个已停止的容器。
    docker start my-nginx-container
    
  • docker rm [容器ID或容器名]删除一个或多个容器。 容器必须先停止才能删除。
    docker rm my-nginx-container
    
  • docker logs [容器ID或容器名]查看容器的日志输出。 对于后台运行的容器,这是排查问题的重要工具。
    docker logs my-nginx-container
    

第四章:实战:部署你的第一个Web应用容器

现在,让我们运用所学知识,部署一个真实的 Web 应用——Nginx 服务器。

目标:拉取并运行一个 Nginx 容器,并通过浏览器访问它。

步骤一:拉取 Nginx 镜像

首先,我们需要从 Docker Hub 拉取 Nginx 的官方镜像。

docker pull nginx:latest

执行此命令后,Docker 会从远程仓库下载 Nginx 镜像到你的本地。你可以通过 docker images 命令确认它已下载成功。

步骤二:运行 Nginx 容器

接下来,我们将基于 Nginx 镜像创建一个并启动一个容器。

docker run --name my-first-nginx -d -p 8080:80 nginx

让我们详细解释一下这个命令的各个参数:

  • --name my-first-nginx:为你的容器指定一个易于识别的名字,这里我们命名为 my-first-nginx
  • -d--detach 的缩写,表示让容器在后台运行。这样你就可以关闭终端,容器仍然会在后台继续运行。
  • -p 8080:80--publish 的缩写,这是端口映射。它告诉 Docker 将宿主机(你的电脑)的 8080 端口映射到容器内部的 80 端口。Nginx 默认在容器的 80 端口提供服务,通过这个映射,你就可以通过访问你电脑的 8080 端口来访问容器内的 Nginx 服务了。
  • nginx:这是我们要用来创建容器的镜像名称。

执行命令后,你会看到一串容器 ID,表示容器已成功启动。你可以使用 docker ps 命令来查看正在运行的容器,确认 my-first-nginx 容器是否在列表中。

步骤三:验证

现在,打开你常用的浏览器,在地址栏输入 http://localhost:8080 并回车。

如果你看到了 Nginx 的欢迎页面(通常显示 “Welcome to nginx!”),那么恭喜你!你已经成功地在 Docker 容器中部署并运行了你的第一个 Web 应用!

步骤四:清理

为了保持环境整洁,我们来停止并删除刚才创建的容器。

  1. 停止容器:
    docker stop my-first-nginx
    
    你可以再次运行 docker ps 确认容器已不在运行列表中。
  2. 删除容器:
    docker rm my-first-nginx
    
    现在,docker ps -a 应该也看不到 my-first-nginx 了。

总结

通过本篇文章的动手实践,你已经成功地:

  • 在你的 Windows 或 macOS 系统上安装了 Docker Desktop。
  • 掌握了 docker imagesdocker pulldocker rundocker psdocker stopdocker rm 等核心 Docker 命令。
  • 亲手部署了一个 Nginx Web 服务器,并通过端口映射使其对外提供服务。

你已经迈出了容器化世界坚实的第一步!在下一篇文章 《Dockerfile终极指南:为你的应用量身打造专属镜像》 中,我们将学习如何将你自己的应用程序打包成 Docker 镜像,让你的应用也能享受容器化的便利。

继续探索,你的云原生之旅才刚刚开始!

http://www.dtcms.com/a/613432.html

相关文章:

  • 入门C语言编译器 | 学习如何选择和配置C语言开发环境
  • 开源asp学校系统网站跨境电商平台有哪些免费的
  • 前端构建工具多页面配置,Webpack与Vite
  • 茂名网站建设服务怀柔高端网站建设
  • Photoshop图层样式
  • Python 第三方库:Markdown(将文本渲染为 HTML)
  • [智能体设计模式] 第12章:异常处理与恢复
  • 网站建设 维护揭阳百度seo公司
  • STL设计模式探秘:容器适配器仿函数
  • 平面翻转群
  • 毕业设计做音乐网站网站开发的最初阶段包括
  • 【ros2】ROS2 C++节点创建指南
  • 可编程逻辑器件学习(day18):FPGA时序理论与数字电路基础深度解析
  • 大数据Spark(七十三):Transformation转换算子glom和foldByKey使用案例
  • 工业显示器在真空包装机中的应用
  • 西安网站建设咪豆广告发布与制作
  • 无锡网站设计服务电子商务网站技术
  • 跨平台账号矩阵高效协同术
  • Ubuntu重新挂载Windows C盘以及如何安全退出外挂硬盘
  • 前端微前端框架原理,qiankun源码分析
  • 深入HarmonyOS打印服务:从基础到高级应用开发
  • 在ubuntu中创建根文件系统
  • 科大讯飞哪些做教学资源的网站泰安网络推广seo
  • 建站资源共享怎样在阿里云做网站
  • 前端无障碍开发检查清单,WCAG合规
  • 【软考 位示图大小计算问题】物理块|字长|字数
  • 用Ai生成webos设计稿
  • DNS练习
  • 学生可以做的网站兼职门户网站建设哪专业
  • Python 编程实战 · 实用工具与库 — Flask 路由与模板