前言

Docker 作为实时计算环境的核心工具,凭借轻量化、可移植的特性成为开发者必备技能。本文基于 Windows 系统,详细拆解 Docker 的安装部署、镜像创建管理及多容器网络组建全过程,附带实操命令、问题排查和效果验证,适合零基础入门的同学直接上手!

一、核心目标

  1. 理解 Docker 的核心概念与应用场景,掌握 Windows 环境下的安装配置逻辑。
  2. 熟练使用 Docker 命令拉取、运行、管理镜像(以 Tomcat 为例)。
  3. 搭建自定义容器网络,实现多容器间的网络连通。

二、Docker 安装与环境配置

1. 下载 Docker Desktop

  • 访问 Docker 官网,直接下载最新版 Docker Desktop(Windows 系统)。
  • docker官网:https://www.docker.com/
  • 下载后双击. exe 文件
  • 安装时勾选「Use WSL2 instead of Hyper-V」和「Add shortcut to desktop」,默认安装路径建议不修改。

2. 启用 Windows 必要功能

  • 打开「控制面板→程序→启用或关闭 Windows 功能」,勾选以下选项:
    • Windows 虚拟机监控程序平台
    • 虚拟机平台
    • 适用于 Linux 的 Windows 子系统
  • 若系统为 Windows 11 专业版,可额外勾选 Hyper-V(家庭版无需操作)。

3. 安装 Linux 子系统

  • 打开 Microsoft Store,搜索并安装 Linux,完成后启动初始化即可。
  • 也可在该网站中搜索安装https://aka.ms/wslstorepage

4. 解决常见启动问题

  • 问题 1:提示「wsl 2 installation」→ 重新勾选「适用于 Linux 的 Windows 子系统」。
  • 问题 2:wsl kernel 版本低 → 打开 PowerShell,执行命令wsl --update,更新后重启 WSL。
  • 问题 3:docker-engine 启动失败 → 运行services.msc,找到「Docker Desktop Service」重启,再重启 Docker。

5. 成功进入 Docker

  • 启动 Docker Desktop,选择「Continue without signing in」,进入主界面即表示安装成功。

三、Docker 镜像创建与管理(Tomcat 实战)

1. 常用核心命令速查

命令 功能说明
docker pull [镜像名] 拉取远程镜像
docker images 查看本地所有镜像
docker run -d -p 主机端口:容器端口 --name 容器名 镜像名 后台运行容器并映射端口
docker exec -it 容器名 /bin/bash 进入运行中的容器
docker ps 查看正在运行的容器
docker stop 容器名/容器ID 停止容器

2. 拉取并运行 Tomcat 镜像

  1. 拉取官方镜像:打开 PowerShell,执行docker pull tomcat(默认拉取最新版)。
  2. 查看镜像:执行docker images,可看到 tomcat 镜像的名称、大小、ID 等信息。
  3. 启动 Tomcat 容器:执行命令docker run -d -p 8080:8080 --name tomcat tomcat,实现端口映射(主机 8080 端口对应容器 8080 端口)。
  4. 配置默认页面:进入容器docker exec -it tomcat /bin/bash,执行cp -r webapps.dist/* webapps/复制默认页面文件。
  5. 验证效果:浏览器访问http://localhost:8080,出现 Apache Tomcat 默认页面即成功。

四、多容器网络组建与连通性测试

1. 创建自定义网络

  • 执行命令docker network create --driver bridge my-network,创建桥接模式的自定义网络。

2. 启动多容器并加入网络

  • 依次创建 3 个 alpine 容器,均连接到 my-network 网络:

    plaintext

    docker run -itd --name container1 --network my-network alpine
    docker run -itd --name container2 --network my-network alpine
    docker run -itd --name container3 --network my-network alpine
    

3. 测试容器间连通性

  • 进入 container1:docker exec -it container1 /bin/sh
  • 测试连接:分别执行ping container2ping container3。

至此,文章内容结束!

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐