We may earn an affiliate commission when you visit our partners.
Course image
Peng Xiao

Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

本课程包含以下内容:(部分内容更新中)

•第一章 Docker的安装和介绍

Docker和容器技术介绍,手把手教大家如何在Windows,Mac,Linux系统里安装Docker

•第二章容器快速上手

快速熟悉Docker命令行的使用,基本掌握容器的基本操作,初步体会容器,镜像和虚拟机的差别

•第三章镜像的创建管理和发布

介绍镜像获取的三大主要方式,初步了解Dockerfile和镜像的构建和分享

•第四章Dockerfile完全指南

通过示例结合最全的Dockerfile语法讲解,完全掌握Dockerfile语法和重要的最佳实践

•第五章 Docker的存储

数据的持久化如何实现,Volume有哪些类型和使用场景

•第六章 Docker的网络

网络命令空间,端口映射,网络地址转换,路由等概念会在这一章详细的讲解给大家。

•第七章docker compose

Read more

Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

本课程包含以下内容:(部分内容更新中)

•第一章 Docker的安装和介绍

Docker和容器技术介绍,手把手教大家如何在Windows,Mac,Linux系统里安装Docker

•第二章容器快速上手

快速熟悉Docker命令行的使用,基本掌握容器的基本操作,初步体会容器,镜像和虚拟机的差别

•第三章镜像的创建管理和发布

介绍镜像获取的三大主要方式,初步了解Dockerfile和镜像的构建和分享

•第四章Dockerfile完全指南

通过示例结合最全的Dockerfile语法讲解,完全掌握Dockerfile语法和重要的最佳实践

•第五章 Docker的存储

数据的持久化如何实现,Volume有哪些类型和使用场景

•第六章 Docker的网络

网络命令空间,端口映射,网络地址转换,路由等概念会在这一章详细的讲解给大家。

•第七章docker compose

docker compose是复杂应用在单机环境下编排的必备工具,本章会通过具体的应用部署演示,覆盖docker compose的基本语法和命令行的使用

•第八章 docker swarm

作为集群的编排工具,docker swarm虽然不如k8s流行,但是万变不离其宗,掌握其基本原理和使用将大大降低大家学习其它编排工具的难度。

•第九章 docker vs podman

Podman是docker的最有力竞争者,这一章将带领大家快速入门podman,看看podman和docker有什么异同之处和高下之分。

•第十章 Docker的多架构支持

随着苹果M1芯片的快速发展和普集,arm架构开始进入更多开发者的视野,docker是如何支持多CPU架构的?以及我们如何发布支持多CPU架构的容器镜像呢?这一章将向您解答

•第十一章 git和容器——CI/CD

这一章我们会关注在应用的部署和运维中,在持续集成和持续部署中结合版本管理和容器技术,同时也会快速的介绍一些自动化运维和监控工具。

•第十二章容器安全

•安全是个大问题,如何确保在生产环境中安全的使用容器呢?本章会为您解开。

课程包括大量的操作实例和演示,包括环境,源码都会分享给大家。

谢谢,感谢大家一直以来的支持。

Enroll now

What's inside

Learning objectives

  • 什么是容器/docker?
  • 如何搭建docker的实验环境
  • Docker命令行的基本操作
  • Dockerfile如何使用
  • Docker compose的使用
  • 什么是docker swarm以及如何在swarm里部署app
  • 容器的存储和网络

Syllabus

容器技术的介绍和安装
容器技术介绍
课程文档和源码
视频播放器
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Covers Docker Swarm, which, while less popular than Kubernetes, provides foundational knowledge applicable to other orchestration tools, easing the learning curve for more complex systems
Explores multi-architecture support, which is increasingly relevant with the rise of ARM-based platforms like Apple's M1 chips, enabling developers to build and deploy applications across diverse CPU architectures
Includes a chapter on CI/CD with Git and containers, integrating version control and container technology in application deployment and operations, and introducing automation and monitoring tools
Examines Podman, a strong competitor to Docker, offering insights into the similarities, differences, advantages, and disadvantages between the two containerization technologies
Features extensive hands-on examples and demonstrations, including shared environments and source code, facilitating practical learning and application of Docker concepts
Addresses container security, a critical aspect of production environments, providing guidance on ensuring the safe and secure use of containers in real-world deployments

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

全面的docker容器技术入门到进阶

根据学生们的反馈,本课程是学习Docker容器技术的绝佳起点。许多人称赞讲师的讲解清晰易懂,使得复杂概念变得容易掌握,特别适合零基础的初学者。课程内容覆盖全面,从基础安装到高级的Dockerfile网络、存储、Compose以及Swarm集群管理,体系完整。学员们高度评价课程中的大量实操和演示,认为它们非常有助于实践和理解。不过,有部分学员指出,由于Docker技术更新迭代较快,课程中的某些内容或工具版本可能需要与最新官方文档对照。总体来说,这是一门非常实用且评价很高的入门到进阶课程。
课程节奏整体适中,对新手友好。
"作为新手,感觉课程节奏很舒服,不会太快,每一步都能跟上。"
"对于有一定基础的人来说,前面部分可能有点慢,但巩固基础也不错。"
"整体流程清晰,循序渐进,非常适合零基础学习。"
提供大量实操实例和演示,有助于掌握技能。
"实操部分非常多,跟着敲代码和做实验是掌握知识最好的方式。"
"提供了代码和环境,动手实践非常方便,学到的东西能直接用。"
"通过大量的例子来讲解概念和命令的使用,比纯理论学习效果好得多。"
"课程中的演示环境搭建和操作步骤都很详细,能快速上手实践。"
课程覆盖面广,从基础到进阶,体系完整。
"内容很全面,包含了Docker的各种核心技术和组件,搭建了完整的知识体系。"
"从安装、基本命令到Dockerfile、Compose、Swarm,学习路径规划得很好。"
"学完对Docker的理解上了一个台阶,很多之前模糊的概念都清晰了。"
"非常全面细致的入门教程,涵盖了Docker使用的方方面面。"
讲师的讲解非常清晰,易于理解,对新手友好。
"老师讲的非常详细,对新手非常友好,有很多实操跟着做能很快掌握..."
"讲解的很清晰,从零基础开始也能听懂,概念解释得很到位。"
"通俗易懂,一步一步跟着老师来,很容易上手,学到了很多东西。"
"课程讲解非常条理,概念解释得很清楚,实操部分也很详细,受益匪浅。"
因Docker更新快,部分内容可能需要与最新版本对照。
"Docker技术更新比较快,部分章节的命令行或配置可能需要自己适配新版本,建议观看时查阅官方文档。"
"希望课程内容能不定期进行更新,跟上技术发展的步伐。"
"某些工具版本和视频里不太一致,需要自己解决一些兼容性问题才能顺利进行实操。"

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Docker容器技术从入门到精通 with these activities:
复习Linux基础知识
复习Linux基础知识,因为Docker在Linux环境下使用最为广泛,并且很多操作需要在Linux命令行下进行。这将帮助你更好地理解Docker的底层原理和操作。
Browse courses on Linux
Show steps
  • 回顾Linux常用命令,例如文件操作、进程管理、网络配置等。
  • 练习使用Shell脚本编写简单的自动化任务。
  • 了解Linux的文件系统结构和权限管理。
阅读《Docker技术入门与实战》
阅读本书可以帮助你系统地了解Docker的各个方面,为学习本课程打下坚实的基础。
Show steps
  • 通读全书,重点关注镜像、容器、网络和存储等章节。
  • 尝试运行书中的示例代码,加深理解。
  • 记录阅读过程中遇到的问题,并在论坛或社区中寻求解答。
练习编写Dockerfile
通过编写Dockerfile,你可以更好地理解镜像的构建过程,并掌握如何定制自己的镜像。这将帮助你更好地使用Docker。
Show steps
  • 选择一个简单的应用程序,例如一个Python Flask应用或一个Node.js应用。
  • 编写Dockerfile,将应用程序打包成Docker镜像。
  • 运行镜像,并验证应用程序是否正常工作。
  • 尝试优化Dockerfile,例如使用多阶段构建、减少镜像大小等。
Four other activities
Expand to see all activities and additional details
Show all seven activities
撰写Docker学习笔记
通过撰写学习笔记,你可以整理和巩固所学知识,并加深对Docker的理解。这将帮助你更好地掌握Docker。
Show steps
  • 整理课程中的重点知识,例如镜像、容器、网络、存储等。
  • 结合自己的实践经验,撰写学习笔记。
  • 将学习笔记发布到博客或论坛,与他人分享。
使用Docker Compose部署一个多容器应用
通过部署多容器应用,你可以学习如何使用Docker Compose编排多个容器,并了解容器之间的依赖关系。这将帮助你更好地理解Docker Compose的使用。
Show steps
  • 选择一个多容器应用,例如一个包含Web服务器、数据库和缓存的应用。
  • 编写docker-compose.yml文件,定义各个容器的配置。
  • 使用Docker Compose启动应用,并验证应用是否正常工作。
  • 尝试修改docker-compose.yml文件,例如修改端口映射、添加环境变量等。
参与Docker相关的开源项目
通过参与开源项目,你可以学习到Docker的最新技术和最佳实践,并与其他开发者交流。这将帮助你成为Docker专家。
Show steps
  • 在GitHub上搜索Docker相关的开源项目。
  • 选择一个自己感兴趣的项目,并阅读项目的文档和代码。
  • 尝试修复项目中的bug或添加新的功能。
  • 提交代码,并参与项目的讨论。
阅读《Kubernetes in Action》
了解Kubernetes可以帮助你更好地理解Docker的应用场景,并为将来学习云原生技术打下基础。
Show steps
  • 通读全书,重点关注Pod、Service和Deployment等章节。
  • 尝试搭建一个简单的Kubernetes集群,并部署一个Docker应用。
  • 了解Kubernetes的常用命令和配置。

Career center

Learners who complete Docker容器技术从入门到精通 will develop knowledge and skills that may be useful to these careers:
容器工程师
容器工程师负责管理和维护容器化环境,确保应用程序能够高效、安全地运行。本课程对容器技术(特别是Docker)的深入讲解,将为担任容器工程师打下坚实的基础。课程内容涵盖Docker的安装、配置、镜像创建与管理、网络、存储,以及Docker Compose和Swarm等编排工具的使用,所有这些都是容器工程师日常工作中的核心技能。通过学习本课程,可以全面掌握容器技术,为解决实际问题提供有力的支持,例如,可以利用课程中关于Dockerfile的完全指南,优化镜像构建流程,提升应用部署效率。此外,了解容器安全问题,有助于构建更安全的容器化环境。
云原生应用开发者
云原生应用开发者专注于构建基于云平台(如AWS、Azure、Google Cloud)的应用程序,并充分利用云服务的优势。云原生应用往往采用容器化技术进行部署和管理,因此容器工程师需要很懂容器技术,而Docker正是其中的关键技术之一。 本课程全面介绍了Docker的基础知识和高级特性,包括Docker的安装、镜像创建、容器编排以及多架构支持。学习本课程可以深入了解容器技术, 并将其应用于云原生应用的开发和部署中。课程中关于Docker Compose和Swarm的介绍,对于构建和管理复杂的多容器应用非常有帮助。此外,课程对容器安全的讲解,也有助于开发出更加健壮和可靠的云原生应用。
DevOps工程师
DevOps工程师致力于实现开发(Development)和运维(Operations)的自动化协作,提高软件交付的速度和质量。容器化技术是DevOps流程中的重要组成部分,而Docker是目前最流行的容器化平台。 本课程系统地介绍了Docker的各个方面,包括安装、配置、镜像管理、网络、存储以及容器编排。学习本课程能够掌握使用Docker进行应用打包、部署和管理的技能,并将其融入到CI/CD(持续集成/持续部署)流程中。课程中关于Dockerfile的完全指南,可以帮助DevOps工程师构建高效、可复用的镜像。此外,课程关于Docker Compose和Swarm的讲解,对于在集群环境中部署和管理应用非常有价值。课程关于CI/CD的章节,可以帮助DevOps工程师更好的集成容器技术到现有的开发流程中。
系统管理员
系统管理员负责维护和管理服务器基础设施,确保系统的稳定运行。容器化技术正在被越来越多的企业采用,系统管理员需要掌握容器技术,才能更好地管理和维护容器化的应用。本课程详细介绍了Docker的安装、配置、使用以及容器编排等内容。 通过学习本课程,系统管理员能够掌握Docker的基本操作和高级特性,例如,可以使用Docker Compose和Swarm来简化应用的部署和管理,还可以利用Docker的多架构支持来构建跨平台的应用。此外,课程对容器安全的讲解,能有效提高系统的安全性。课程涵盖了Docker的存储和网络,这些知识可以帮助系统管理员更好地管理容器的数据和网络连接。
自动化测试工程师
自动化测试工程师使用自动化工具和脚本来执行软件测试,提高测试效率和覆盖率。容器化技术可以用于构建可重复、一致的测试环境,从而提高测试的可靠性。本课程全面介绍了Docker的基础知识和高级特性,包括Docker的安装、镜像创建、容器编排以及多架构支持。学习本课程能够使用Docker构建各种测试环境,例如,可以利用Dockerfile创建包含特定依赖的测试镜像,并使用Docker Compose编排多个测试容器。此外,课程对容器网络的讲解,可以帮助测试工程师模拟各种网络环境,从而进行更全面的测试。通过使用容器,自动化测试工程师可以更加方便快捷地创建和管理测试环境,提高测试效率。
技术支持工程师
技术支持工程师负责为用户提供技术支持,解决用户在使用软件或系统时遇到的问题。容器化技术可以帮助技术支持工程师快速定位和解决问题。本课程详细介绍了Docker的安装、配置、使用以及容器编排等内容。通过学习本课程,技术支持工程师能够更好地理解容器的工作原理, 从而更有效地解决用户在使用容器时遇到的问题。例如,可以使用Docker来重现用户遇到的问题,并进行调试和修复。此外,课程关于Docker Compose和Swarm的讲解,可以帮助技术支持工程师更好地理解复杂应用的部署和管理。了解容器安全问题,有助于帮助用户构建更安全的容器化环境。
解决方案架构师
解决方案架构师负责设计和构建符合业务需求的IT解决方案。容器化技术是构建现代IT解决方案的重要组成部分,解决方案架构师需要了解容器技术,才能更好地设计和构建解决方案。本课程全面介绍了Docker的基础知识和高级特性,包括Docker的安装、镜像创建、容器编排以及多架构支持。学习本课程可以深入了解容器技术,并将其应用于解决方案的设计和构建中。课程中关于Docker Compose和Swarm的介绍,对于构建和管理复杂的多容器应用非常有帮助。此外,课程对容器安全的讲解,有助于构建更加健壮和安全的解决方案。
数据库管理员
数据库管理员负责管理和维护数据库系统,确保数据的安全性和可用性。容器化技术可以用于部署和管理数据库系统,提高数据库的灵活性和可扩展性。本课程详细介绍了Docker的安装、配置、使用以及容器编排等内容,这可能有助于理解如何使用Docker部署数据库系统。例如,可以使用Dockerfile创建包含特定版本数据库的镜像,并使用Docker Compose编排多个数据库容器。此外,课程对容器存储的讲解,可以帮助数据库管理员更好地管理数据库的数据。
安全工程师
安全工程师负责保护信息系统和数据的安全,防止未经授权的访问和攻击。容器化技术引入了新的安全挑战,安全工程师需要了解容器安全,才能更好地保护容器化的应用。本课程对容器安全进行了详细的讲解,这可能有助于安全工程师了解容器安全风险,并采取相应的措施来降低风险。例如,可以利用课程中关于Dockerfile的完全指南,构建更安全的镜像。此外,课程关于Docker Compose和Swarm的讲解,可以帮助安全工程师更好地理解复杂应用的部署和管理,从而更好地保护这些应用。
AI/ML工程师
人工智能和机器学习工程师开发和部署AI/ML模型。容器化技术可以用于打包AI/ML模型及其依赖项,使其易于部署和管理。本课程全面介绍了Docker的基础知识和高级特性,包括Docker的安装、镜像创建、容器编排以及多架构支持。通过学习本课程,AI/ML工程师可以利用Docker构建可重复、一致的AI/ML开发和部署环境。例如,可以利用Dockerfile创建包含特定AI/ML框架和库的镜像,并使用Docker Compose编排多个AI/ML服务。课程对多架构支持的讲解,帮助AI/ML工程师构建可以在不同平台上运行的模型。
技术经理
技术经理负责领导技术团队,并制定技术战略。了解容器技术对于技术经理来说非常重要,因为容器技术正在被越来越多的企业采用。如果想在技术领域有所发展,本课程可能对技术经理有所帮助。学习本课程可以了解Docker的基本原理和应用场景,从而更好地指导团队进行容器化转型。此外,课程对Docker Compose和Swarm的讲解,可以帮助技术经理更好地理解复杂应用的部署和管理。
产品经理
产品经理负责定义产品需求和制定产品路线图。随着容器化技术的普及,了解容器技术对于产品经理来说也变得越来越重要。如果想在产品领域有所发展,本课程可能对产品经理有所帮助。 学习本课程可以了解Docker的基本原理和应用场景,从而更好地与开发团队沟通,并制定更合理的产品路线图。通过了解容器技术,产品经理可以更好地评估产品的技术可行性,并制定更具竞争力的产品策略。
架构师
架构师负责设计和构建软件系统的总体架构。容器化技术是现代软件架构的重要组成部分,架构师需要了解容器技术,才能更好地设计和构建可扩展、可维护的系统。本课程对Docker的深入讲解,可能有助于架构师了解容器技术的优势和局限性,并将其应用到系统架构设计中。例如,课程中关于Dockerfile的完全指南,可以帮助架构师构建高效、可复用的镜像。课程关于Docker Compose和Swarm的讲解,有助于架构师更好地理解复杂应用的部署和管理。
技术顾问
技术顾问为客户提供技术咨询服务,帮助客户解决技术问题。容器化技术是目前非常热门的技术领域,技术顾问需要了解容器技术,才能更好地为客户提供咨询服务。本课程对Docker的详细讲解,可能有助于技术顾问快速掌握Docker的基础知识和高级特性。例如,课程中关于Docker Compose和Swarm的讲解,可以帮助技术顾问更好地理解复杂应用的部署和管理。此外,课程对容器安全的讲解,有助于技术顾问为客户提供更专业的安全建议。
项目经理
项目经理负责项目的规划、执行和控制。在软件开发项目中,容器化技术被广泛应用,项目经理了解容器技术,可能有助于其更好的管理项目。学习本课程能帮助项目经理更好的理解容器的工作原理,从而更好地与开发团队沟通,并制定更合理的项目计划。通过了解容器技术,项目经理可以更好地评估项目的技术风险,并制定更有效的风险应对措施。

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Docker容器技术从入门到精通.
本书全面介绍了Docker的基本概念、安装配置、镜像、容器、网络、存储、安全等方面的内容。它通过大量的实例,帮助读者快速掌握Docker的使用方法。本书适合Docker初学者阅读,也适合有一定经验的开发者作为参考书使用。本书可以作为本课程的补充阅读材料,帮助你更深入地理解Docker技术。
本书深入介绍了Kubernetes的各个方面,包括Pod、Service、Deployment、Ingress等。虽然本课程主要关注Docker,但Kubernetes是Docker容器编排的事实标准。阅读本书可以帮助你了解Docker在云原生架构中的作用,并为将来学习Kubernetes打下基础。本书适合有一定Docker基础的开发者阅读。

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser