初识容器Docker

这篇具有很好参考价值的文章主要介绍了初识容器Docker。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目前使用 Docker 基本上有两个选择:Docker DesktopDocker EngineDocker Desktop 是专门针对个人使用而设计的,支持 Mac 和 Windows 快速安装,具有直观的图形界面,还集成了许多周边工具,方便易用。
不是太推荐使用Docker Desktop,原因有两个。第一个,它是商业产品,难免会带有 Docker 公司的“私人气息”,有一些自己的、非通用的东西,不利于我们后续的 Kubernetes 学习。第二个,它只是对个人学习免费,受条款限制不能商用,我们在日常工作中难免会“踩到雷区”。
Docker Engine则和Docker Desktop正好相反,完全免费,但只能在 Linux 上运行,只能使用命令行操作,缺乏辅助工具,需要我们自己动手 DIY 运行环境。不过要是较起真来,它才是Docker当初的真正形态,“血脉”最纯正,也是现在各个公司在生产环境中实际使用的 Docker 产品,毕竟机房里 99% 的服务器跑的都是 Linux。
sudo apt install -y docker.io安装docker。
初识容器Docker,Kubernetes入门实战课,docker,容器,运维

完成之后如下图:
初识容器Docker,Kubernetes入门实战课,docker,容器,运维

sudo systemctl start docker启动docker
初识容器Docker,Kubernetes入门实战课,docker,容器,运维

sudo systemctl status docker可以看到状态是active (running)
初识容器Docker,Kubernetes入门实战课,docker,容器,运维

sudo usermod -aG docker ${USER}把当前用户加入docker组,退出系统(命令 exit ),再重新登录一次,这样才能让修改用户组的命令 usermod 生效。
因为我使用的是root用户,所以不用执行。

sudo docker version会输出 Docker 客户端和服务器各自的版本信息:
初识容器Docker,Kubernetes入门实战课,docker,容器,运维
可以看到,我使用的是Docker Engine 24.0.5,系统是Linux,硬件架构是amd64

sudo docker info会显示当前 Docker 系统相关的信息,例如 CPU、内存、容器数量、镜像数量、容器运行时、存储文件系统等等。
初识容器Docker,Kubernetes入门实战课,docker,容器,运维

sudo docker info显示的这些信息,对于我们了解 Docker 的内部运行状态非常有用。

docker ps,它会列出当前系统里运行的容器,就像我们在 Linux 系统里使用 ps 命令列出运行的进程一样。
初识容器Docker,Kubernetes入门实战课,docker,容器,运维

所有的 Docker 操作都是这种形式:以 docker 开始,然后是一个具体的子命令,之前的docker versiondocker info也遵循了这样的规则。你还可以用help或者--help来获取帮助信息,查看命令清单和更详细的说明。

docker pull,从外部的镜像仓库(Registry)拉取一个 busybox 镜像(image),你可以把它类比成是 Ubuntu 里的“apt install”下载软件包,docker pull busybox拉取busybox镜像。
初识容器Docker,Kubernetes入门实战课,docker,容器,运维

docker images列出当前 Docker 所存储的所有镜像。
初识容器Docker,Kubernetes入门实战课,docker,容器,运维

可以看到,命令会显示有一个叫busybox的镜像,镜像的 ID 号是一串 16 进制数字a416a98b71e2,大小是 4.26MB。

docker run busybox echo hello world输出计算机世界最著名的语句“hello world”。
初识容器Docker,Kubernetes入门实战课,docker,容器,运维

docker ps -a列出来所有的镜像。

初识容器Docker,Kubernetes入门实战课,docker,容器,运维

Docker 的架构

下面的这张图来自 Docker 官网(https://docs.docker.com/get-started/overview/),精准地描述了 Docker Engine 的内部角色和工作流程,对我们的学习研究非常有指导意义。
初识容器Docker,Kubernetes入门实战课,docker,容器,运维
刚才我们敲的命令行 docker 实际上是一个客户端 client ,它会与 Docker Engine 里的后台服务 Docker daemon 通信,而镜像则存储在远端的仓库 Registry 里,客户端并不能直接访问镜像仓库。

Docker client 可以通过 build、pull、run等命令向 Docker daemon 发送请求,而 Docker daemon 则是容器和镜像的“大管家”,负责从远端拉取镜像、在本地存储镜像,还有从镜像生成容器、管理容器等所有功能。

所以,在 Docker Engine 里,真正干活的其实是默默运行在后台的 Docker daemon,而我们实际操作的命令行工具“docker”只是个“传声筒”的角色。
Docker 官方还提供一个“hello-world”示例,可以为你展示 Docker client 到 Docker daemon 再到 Registry 的详细工作流程,你只需要执行这样一个命令docker run hello-world

它会先检查本地镜像,如果没有就从远程仓库拉取,再运行容器,最后输出运行信息:
初识容器Docker,Kubernetes入门实战课,docker,容器,运维

此文章为10月Day 5学习笔记,内容来源于极客时间《Kubernetes 入门实战课》文章来源地址https://www.toymoban.com/news/detail-722930.html

到了这里,关于初识容器Docker的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Docker和Kubernetes:构建现代应用容器编排系统

    作者:禅与计算机程序设计艺术 Docker是一个开源的应用容器引擎,可以轻松打包、部署及运行应用程序。Kubernetes(简称K8s)是一个开源的,用于管理云平台中多个主机上的容器化的应用的容器集群管理系统。通过对Docker和Kubernetes的结合,能够更高效地自动化地部署和管理容

    2024年02月07日
    浏览(15)
  • 从swarm到kubernetes Docker容器云实践

    kubernetes 与swarm 比较 优点 复制集与健康维护 服务自发现与负载均衡 灰度升级 垃圾回收 自动回收失效镜像与容器 与容器引擎解耦 不仅仅支持docker容器 用户认证与资源隔离 缺点 大而全意味着 复杂度较高 从部署到使用都比swarm 复杂的多 相对而已swarm比较轻量级 而且跟docke

    2024年02月19日
    浏览(10)
  • 【零基础入门Docker】小白新手初识Docker

    【零基础入门Docker】小白新手初识Docker

    ✍ 面向读者:所有人 ✍ 所属专栏:Docker零基础入门教程 目录 Docker容器和虚拟机的区别 Docker 中的重要术语  在 Ubuntu 上安装 Docker 在 Docker 中创建应用程序 将镜像推送到 Docker Hub 从 Docker Hub 获取并运行镜像 结论 Docker 是一组平台即服务 (PaaS) 产品,它使用操作系统级虚拟化以

    2024年02月08日
    浏览(9)
  • Kubernetes配置 Pods 和容器—将 Docker Compose 文件转换为 Kubernetes 资源

    你必须拥有一个 Kubernetes 的集群,同时你必须配置 kubectl 命令行工具与你的集群通信。 建议在至少有两个不作为控制平面主机的节点的集群上运行本教程。 我们有很多种方式安装 Kompose。首选方式是从最新的 GitHub 发布页面下载二进制文件。 Kompose 通过 GitHub 安装 只需几步,

    2024年02月12日
    浏览(39)
  • 容器技术,1. Docker,2. Kubernetes(K8s):

    容器技术,1. Docker,2. Kubernetes(K8s):

    目录 容器技术 1. Docker: 2. Kubernetes(K8s): Docker和Kubernetes 容器的主要应用场景有哪些? 有效的将单个操作系统的资源划分到孤立的组中,以便更好的在孤立的组之间平衡有冲突的资源使用需求,这种技术就是容器技术。 容器技术指通过在物理主机操作系统上创建一个一个

    2024年02月11日
    浏览(16)
  • 容器编排工具的比较:Kubernetes、Docker Swarm、Nomad

    容器编排工具的比较:Kubernetes、Docker Swarm、Nomad

    随着容器化技术的普及,容器编排工具成为了现代应用部署和管理的重要组成部分。容器编排工具能够自动化容器的部署、扩展和管理,从而提高应用的可靠性和可伸缩性。在众多的容器编排工具中,Kubernetes、Docker Swarm和Nomad是三个备受关注的主要候选。本文将对这三个工具

    2024年02月09日
    浏览(15)
  • Docker和Kubernetes与容器自动化管理:最佳实践

    作者:禅与计算机程序设计艺术 容器技术在企业级应用中扮演着重要角色,通过容器化部署应用程序可以极大的降低IT成本、缩短交付周期、提高资源利用率。对于容器技术来说,Docker和Kubernetes无疑是其两大支柱产品。由于Docker和Kubernetes都提供了统一的编排接口(API),使

    2024年02月07日
    浏览(9)
  • K8S自动化运维容器化(Docker)集群程序

    K8S自动化运维容器化(Docker)集群程序

    1.什么是K8S K8S全程为Kubernetes,由于K到S直接有8个字母简称为K8S。 版本:目前一般是1.18~1.2.0,后续可能会到1.24-1.26,1.24版本后丢弃了docker(如需要使用需要第三方插件配合),目前最新版本是1.27 官网:https://kubernetes.io GitHub:GitHub - kubernetes/kubernetes: Production-Grade Container Schedul

    2024年02月10日
    浏览(15)
  • Docker实战-操作Docker容器实战(二)

    Docker实战-操作Docker容器实战(二)

    导语   上篇分享中,我们介绍了关于如何创建容器、如何启动容器、如何停止容器。这篇我们来分享一下如何操作容器。   可以通过使用-d参数启动容器后会进入后台运行,用户无法查看容器中的信息,无法对容器中的信息进行操作。   这个时候如果我们需要进入容

    2024年02月14日
    浏览(8)
  • Kubernetes VS Docker Swarm:选择适合自己的容器编排工具

    容器编排工具是一种自动化部署和管理容器的工具。 利用容器编排工具可以方便地解决容器化应用程序的部署、扩展和高可用性等问题。 Kubernetes 和 Docker Swarm 是目前最流行的两个容器编排工具,因此选用它们来进行比较。 1.1 Kubernetes 的来源和发展背景 Kubernetes 源于 Google 的

    2024年02月06日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包