了解 Docker:容器化初学者指南。
介绍:
这是一篇关于 Docker 的适合初学者的文章,介绍了其核心概念和实际应用。
如果您从事 IT 或任何技术相关领域的工作,但还不熟悉容器化,那么本文将帮助您理解这个概念及其重要性。
先决条件
-
熟悉命令行界面 (CLI):您应该熟悉使用终端或命令行界面 (CLI) 运行 Docker 命令。
-
网络基础知识:对网络概念(例如端口和协议)的基本了解将有助于使用 Docker 容器及其连接。
-
版本控制系统:熟悉 Git 等工具在管理代码库和 Docker 工作流程时会很有帮助。
-
愿意学习并理解本文的全部概念。
为什么选择 Docker?
在众多容器化平台中,Docker 是应用最为广泛的平台,全球用户超过 3180 亿。Netflix、Spotify、Paypal、Airbnb 等大型公司都使用 Docker 来运行其应用系统。
Docker 是一个软件平台,可帮助开发人员快速构建、测试和运行应用程序。它使用容器,并通过容器化(一种将应用程序及其依赖项打包到轻量级、可移植的单元(称为容器)中的方法)来实现这一点。
为什么要使用 Docker?
跨环境一致性:Docker 容器确保您的应用程序无论在何处运行(本地计算机、暂存环境或生产服务器)都以相同的方式运行。
资源效率:与虚拟机不同,容器共享主机操作系统的内核,这使得它们轻量且启动速度快。
可移植性:容器可以在安装了 Docker 的任何系统上运行,这使得它们在不同的操作系统和云提供商之间具有高度的可移植性。
简化部署:Docker 将所有依赖项捆绑到一个映像中,从而可以轻松部署应用程序。
关键 Docker 组件
在开始使用docker的时候,你不能不了解这些术语,它们是docker的必备知识:
1. Docker 镜像
Docker 镜像是一个只读模板,包含应用程序代码、库和其他依赖项。可以将其视为环境的快照。镜像用于创建容器。
2. Docker容器
容器是 Docker 镜像的运行实例。它独立、轻量,并包含执行应用程序所需的一切。
3. Dockerfile
Dockerfile 是一个文本文件,其中包含构建 Docker 镜像的指令。它定义了基础镜像、应用程序代码以及任何所需的配置或依赖项。
4. Docker Hub
Docker Hub 是一个基于云的镜像仓库,您可以在其中查找和共享 Docker 镜像。它就像一个容器的应用商店。创建 Docker 容器后,它会被推送到一个名为 Docker Hub 的地方,其他人可以远程访问您的容器。
设置Docker
要开始使用 docker,请按照以下步骤操作:
步骤1:安装Docker
从Docker 官方网站下载并安装适合您的操作系统(Windows、macOS 或 Linux)的 Docker Desktop 。
第 2 步:验证安装
在终端中运行以下命令检查 Docker 是否正确安装:
docker --version
您应该会看到系统上安装的 Docker 版本。
Docker 入门
让我们通过一个简单的示例来了解如何使用 Docker 运行 Web 服务器。
步骤 1:拉取镜像
从 Docker Hub 拉取预构建的镜像。例如,官方 Nginx 镜像:
docker pull nginx
步骤 2:运行容器
使用拉取的镜像启动容器:
docker run -d -p 8080:80 nginx
此命令以分离模式()运行 Nginx 容器-d
,并将计算机上的端口 8080 映射到容器中的端口 80。
步骤 3:访问应用程序
打开 Web 浏览器并转到http://localhost:8080
。您应该会看到 Nginx 欢迎页面。
管理容器
列出正在运行的容器
docker ps
这将显示所有活动容器。
停止容器
docker stop [CONTAINER_ID]
替换[CONTAINER_ID]
为容器的 ID 或名称。
删除容器
docker rm [CONTAINER_ID]
关键 Docker 命令
- docker build:此命令用于从 Dockerfile 构建 Docker 镜像。
- docker images:此命令用于列出系统上所有可用的图像。
- docker rm:此命令用于移除或删除 Docker 镜像。
- docker logs:此命令用于查看正在运行的容器的日志。
- docker run:此命令用于从 docker 镜像创建并启动新容器
- docker pull:此命令用于将 Docker 镜像从 Docker 注册表(例如 Docker Hub)下载到本地 Docker 主机。
- docker push:此命令用于将 Docker 镜像推送到 Docker 注册表,以便其他人可以下载和运行。
- dockervolume:此命令用于管理卷,用于持久保存Docker容器生成和使用的数据。
- docker commit:此命令用于从正在运行或已停止的容器创建新的docker镜像。
- docker network:此命令用于管理 Docker 容器的网络,允许您创建自定义网络、检查现有网络等。
- docker ps:此命令用于列出正在运行的容器。使用 docker ps -a 列出所有容器,包括已停止的容器。
- docker logs:此命令用于从容器中检索日志。这有助于调试和监控应用程序输出。
- docker cp:此命令用于在主机和容器之间复制文件或目录。
- docker prune:此命令用于清理未使用的 Docker 对象,例如已停止的容器、悬空的图像、未使用的网络和卷
- docker stats:此命令用于显示正在运行的容器的实时资源使用情况统计信息(CPU,内存等)。
- docker import/export:docker export:将容器的文件系统导出为 tar 存档。docker import:导入 tarball 以创建新图像。
资源
如果您愿意获取更多资源来帮助您更深入地学习 docker,请查看;
✨ Udemy:有很多关于 docker 的课程非常有用
✨ Youtube:官方 docker YouTube 频道提供全面的教程和演示。还有很多教程视频可供您学习
✨ Docker 文档:官方 Docker 文档
✨ Docker Hub:Docker Hub 还提供在不同应用程序中使用 Docker 镜像的文档、教程和示例。✨
Docker博客和教程:就像这个一样,还有其他关于 Docker 的好文章或博客可以帮助您深入了解这个主题。
后续步骤
现在您已经掌握了 Docker 的基础知识,您可以探索更高级的概念,例如:
- 使用 Dockerfile 构建自定义 Docker 镜像。
- 使用 Docker Compose 管理多容器应用程序。
- 使用 Docker Swarm 或 Kubernetes 扩展应用程序。
结论
在本文中,您了解了 Docker:它是什么以及它为何被广泛使用。您探索了 Docker 的关键组件,这些对于任何初学者来说都是必备的知识。此外,您还学习了如何设置 Docker 环境以及所需的基本命令。最后,您还找到了一些资源和教程,它们将为您的 Docker 之旅提供支持。
Docker 是一款功能强大的工具,可以简化现代软件开发和部署的复杂性。通过实践,你会发现它是你 DevOps 工具包中不可或缺的一部分!
文章来源:https://dev.to/onlyfave/understanding-docker-a-beginners-guide-to-containerization-3478