美文网首页
docker基础知识

docker基础知识

作者: ands999 | 来源:发表于2020-04-04 17:17 被阅读0次

kubernetes是docker之上的平台,采用docker实现其底层容器相关的操作。

  • docker是github上开发的Moby开源项目的一部分。docker一词来自于英国口语,意为码头工人(docker worker)。

  • docker版本号遵循YY.MM-xx格式。分为CE(社区版)和EE(企业版)。

  • rkt(发言“rocket”),是CoreOS公司的同类产品。

  • 以镜像的形式交付,以容器的方式运行。

  • 将应用整合到容器中并运行起来的过程,称为容器化。

  • 如果在仓库名称后没有指定具体的镜像标签,则默认拉取latest镜像。latest镜像不保证是仓库中最新的。例如,Alpine仓库中最新的镜像通常标签是edge。

  • 只要给出镜像的名字和标签,就能在仓库中定位一个镜像(采用“:”分割)。

  • docker镜像存储在镜像仓库服务(Image Registry)中,镜像仓库服务包含多个镜像仓库(Image Repository)。

  • Google容器镜像仓库服务(GCR)中,需要在仓库名称前面加上gcr.io。

  • 使用--filter "is-official=true",只返回官方镜像。

  • 悬虚镜像。没有标签的镜像被称为,在列表中展示为<none>:<none>。出现这种镜像,是因为构建新镜像,然后为该新镜像打已经存在的标签。

  • docker通过存储引擎(新版本采用快照机制)的方式实现镜像层堆栈,并保证多镜像层对展示位统一的文件系统。linux上常用overlay2。

  • docker可以识别出要拉取的镜像中,哪几层已经在本地存在。

  • linux上各存储引擎(包括overlay2)有自己的镜像分层,镜像层共享和写时复制(CoW)技术的具体实现。

  • docker提供--filter参数过滤docker images ls命令返回的镜像列表内容,dangling,before,since和label。
  • 根据镜像的摘要,可以准确拉取镜像。镜像每层会包含一个分发散列值。
  • Manifest列表是指摸个镜像标签支持的架构列表。多架构镜像。
  • 在docker中,包含应用文件的目录称为构建上下文。通常将Dockerfile放到构建上下文的根目录。
  • Dockerfile通过WORKDIR指令,为Dockerfile中尚未执行的指令设置工作目录。
  • 多阶段构建方式。一个Dockerfile,包含多个FROM指令。每个FROM指令都是一个新的构建阶段,并且可以复制之前阶段的构件。COPY --from
  • Docker Compose。在docker节点上,以单引擎模式进行多容器应用的部署和管理。
    docker compose是基于docker engine进行安装的python工具。该工具在声明式的配置文件中定义一个多容器的应用,并通过简单命令部署。compose文件可以是yaml或json格式,其中定义了所有的容器,网络,卷和应用所需的密码。
  • Docker Stack。docker节点上,以Swarm模式进行多容器应用进行部署和管理。
  • Docker Swarm是企业级的docker安全集群,是微服务应用编排引擎。自docker1.12版本后集成。
容器和虚拟机对比

虚拟机运行在完整的操作系统上。
容器共享主机的操作系统/内核。并且动态分配资源。
Hypervisor是硬件虚拟化。容器是操作系统虚拟化(空间进行隔离)。
CPU,内存,硬盘等硬件资源的占用。操作系统等软件资源的占用,导致虚拟机启动缓慢。
虚拟机的Guest OS能为应用提供更加隔离和安全的环境,不会因为应用程序的漏洞给宿主机造成任何威胁。
Docker Engine只对linux内核namespace API进行封装和调用,真正的内核虚拟化技术是由linux提供。

docker常用命令
  • 镜像命令
    docker image build
    docker image pull
    docker image ls
    docker image inspect
    docker images rm
  • 容器命令
    docker container run
    docker container ls
    Ctrl-PQ 断开shell和容器终端的连接,容器在后台运行。
    docker container exec 在运行的容器中,启动新进程。
  • 网络命令
    docker network create
    docker network ls
    docker network inspect
    docker network rm
  • 卷与持久化数据命令
    docker volume create
    docker volume ls
    docker volume inspect
    docker volume rm
参考

《深入浅出Docker--》

相关文章

  • 四 必备Docker知识

    (一) Docker基础知识 https://hub.docker.com/[https://hub.docker...

  • Docker

    # Docker java进阶/docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器...

  • Docker 基础知识

    Docker 基础知识 install brew cask install docker mirror(Regis...

  • docker 入门

    Docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器的概念 完成Docker安装与启...

  • Docker学习笔记

    Docker 掌握Docker基础知识,理解Docker镜像与容器的概念 完成Docker安装与启动 掌握Dock...

  • Docker学习笔记

    Docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器的概念 完成Docker安装与启...

  • Docker集群管理基础

    这篇文章讲了Docker-machine,Docker-compose,Docker-swarm的一些基础知识。 ...

  • Gitlab 及 Gitlab Runner的搭建

    本文后续所有安装都基于 docker ,所以需要一定的 docker 基础知识储备。 Docker 的准备 卸载 ...

  • k8s日志收集实战

    基础知识 Docker 引擎日志 Docker 引擎日志 一般是交给了 Upstart(Ubuntu 14.04)...

  • Spring Boot与Docker部署

    了解Docker的一些基础知识Docker——入门实战Docker —— 从入门到实践 Centos7上安装doc...

网友评论

      本文标题:docker基础知识

      本文链接:https://www.haomeiwen.com/subject/jfopdhtx.html