本模块旨在帮助实习生将思维从传统虚拟化转向容器封装技术,优化应用程序的封装和部署流程。


所需掌握的知识


  • Linux核心知识:管理Linux上的进程、所有权和基本网络配置。

  • 容器化概念:明确区分虚拟化(VM)和容器化(Container)。

  • Docker中的网络和存储知识:了解Docker网络(Bridge、Host、Overlay)和Docker Volume/Bind Mount。

  • 容器生命周期:了解Image、Container、Registry(Docker Hub)的工作方式。


执行顺序

  1. 注册系统资源:访问https://dev.mdcgroup.vn,提交申请以获取一台Linux服务器,并准备好个人电脑。

  2. 环境安装:在个人电脑和已分配的Linux服务器上安装Docker Engine和Docker Compose。

  3. Docker CLI操作:练习拉取基本镜像(Nginx、Alpine),启动、停止、删除和检查容器日志。

  4. 编写Dockerfile:自定义一个Dockerfile来封装一个简单的应用程序(Node.js或Python),优化镜像大小。

  5. 使用Docker Compose部署:编写docker-compose.yml文件来运行一个服务集群,包括Web服务器(Nginx)和数据库(PostgreSQL),并配置它们之间的内部网络连接。

  6. 数据和网络管理:配置Docker Volume以确保数据库数据在容器被删除时不会丢失;配置端口转发以从外部访问服务。


结果验收

  • 选择题考试:在https://dev.mdcgroup.vn系统上完成Docker选择题考试。

  • 问题与建议:记录常见错误(例如:卷写入权限错误、端口冲突)及解决方案。

  • 结果报告:提交报告,附上包含完整Dockerfile和Docker Compose的GitHub链接,以及系统稳定运行的截图。

  • 周末讨论:参加周六与导师和其他团队的技术评审会议。