docker 简介

简介: docker 简介

本文为博主原创,未经允许不得转载:

  Docker是基于Go语言实现的云开源项目,Docker的主要目标是 Build ,Ship and Run Any App,Anywhere,也就是通过对应用组件的封装,分发,部署,运行等生命周期的管理,使用户的app及其运行环境能够做到“一次封装,到处运行”  

  Docker容器在任何操作系统上都是一致的,这就实现了跨平台,跨服务器。只需要一次配置好环境,换到别的机子上就可以一键部署好,大大简化了操作。

  docker解决了运行环境和配置软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。  

  虚拟机就是带环境安装的一种解决方案,它可以在一种操作系统里面运行另一种操作系统,比如windows系统里面运行linux系统,应用程序对此毫无感知,因为虚拟机上去跟真实系统一模一样,而对于底层系统来说,虚拟机就是一个普通文件,不需要了就删掉,对其他部分毫无影响,这类虚拟机完美的运行了另一套系统,能够使应用程序,操作系统和硬件三者之间的逻辑不变  

  虚拟机缺点:

    1.资源占用多 2.冗余步骤多 3.启动慢

  Why Docker?

    更轻量:基于容器的虚拟化,仅包含业务运行所需的runtime环境

    更高效:无操作系统虚拟化开销

    更敏捷,更灵活:分层的存储和包管理,devops理念,支持多种网络配置


  linux容器不是模拟一个完整的操作系统,而是对进程进行隔离,有了容器,就可以将软件所需的所有资源打包到一个隔离的容器中,

容器与虚拟机不同,不需要捆绑一整套操作系统,只需要软件工作所需的资源和配置,系统因此而变得高效轻量,并保证部署在任何环境

中的软件都能始终如一的运行

docker和虚拟机的不同

1.传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上在运行所需应用进程

2.而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟,因此容器要比传统虚拟机更轻便

3.每个容器之间互相隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,能区分计算资源

 

Docker 的架构:

  

 Docker daemonDocker守护进程)

  是一个运行在宿主机( DOCKER-HOST)的后台进程。可通过 Docker客户端与之通信。

ClientDocker客户端)

  是 Docker的用户界面,它可以接受用户命令和配置标识,并与 Docker daemon通信。

ImagesDocker镜像)

  docker镜像都是只读的,镜像是一种轻量级,可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内存,包括代码,运行时,库,环境变量和配置文件

Container(容器)

  容器是镜像的可运行实例。镜像和容器的关系有点类似于面向对象中,类和对象的关系。可通过 Docker API或者 CLI命令来启停、移动、删除容器。

  可以把容器看做是一个简易版的linux环境(包括root用户权限,进程空间,用户空间,网络空间)和运行在其中的应用程序。

Registry

  Docker Registry是一个集中存储与分发镜像的服务。构建完 Docker镜像后,就可在当前宿主机上运行。但如果想要在其他机器上运行这个镜像,就需要手动复制。此时可借助 Docker Registry来避免镜像的手动复制。

 

docker三大特征:容器,镜像,仓库

  Docker镜像image就是一个只读的模板,镜像可以用来创建docker容器,一个镜像可以创建多个容器,它可以被启动,开始,停止,删除,每个容器都是互相隔离的,保证安全的平台。

 

仓库(Repository)是集中存放镜像文件的场所

  仓库和仓库注册服务器(Registry)是有区别的,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签


仓库分为公开仓库和私有仓库两种形式

  最大的公开仓库是Docker Hub(https://hub.docker.com),存放了数量庞大的镜像供用户下载,国内的公开仓库包括阿里云,网易云等;



阿里云镜像加速配置:


sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'

{

"registry-mirrors": ["https://3q5mnu1c.mirror.aliyuncs.com"]

}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

 

标签: docker

目录
相关文章
|
6月前
|
Java Go 开发者
Docker容器技术简介及其与Go语言的结合点
【2月更文挑战第23天】本文首先概述了Docker容器技术的核心概念和优势,接着探讨了Go语言与Docker容器技术的结合点。通过阐述Docker的轻量级、可移植性和版本控制等特性,以及Go语言在容器化应用中的优势,本文旨在说明两者结合能够实现更高效、灵活的应用开发和部署。
|
SQL 关系型数据库 数据库
SQL Server 简介与 Docker Compose 部署
SQL Server 是由微软公司开发的一款强大的关系型数据库管理系统(RDBMS),广泛应用于企业级应用程序和数据存储。使用 Docker Compose,您可以轻松地将 SQL Server 实例部署到容器化环境中,并方便地进行数据库管理。在本文中,我将简要介绍 SQL Server 的基本概念,并详细阐述如何使用 Docker Compose 部署 SQL Server 容器。
451 2
SQL Server 简介与 Docker Compose 部署
|
Docker 容器
01Docker简介
01Docker简介
47 0
|
2月前
|
存储 Linux Docker
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
关于如何在CentOS 7.6上安装Docker、介绍Docker存储引擎以及服务进程关系的实战案例。
138 3
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
|
2月前
|
存储 Unix 虚拟化
Docker容器简介
Docker是一种轻量级的虚拟化技术,它通过容器化应用,提高了硬件资源利用率,简化了应用的部署、运输和运行,且与虚拟机相比,具有更快的交付速度和更低的资源消耗。
49 2
|
4月前
|
Java Linux 虚拟化
docker(一):docker简介
docker(一):docker简介
38 1
|
6月前
|
Linux 应用服务中间件 nginx
docker 网络简介
docker 网络简介
|
Oracle 关系型数据库 数据库
Oracle 简介与 Docker Compose部署
Oracle 数据库是一款由 Oracle 公司开发的关系型数据库管理系统(RDBMS)。它被广泛应用于企业级应用程序,提供了可靠的数据存储和强大的数据管理功能。
451 1
Oracle 简介与 Docker Compose部署
|
6月前
|
Java 虚拟化 Docker
Docker简介及用途,为什么要使用Docker?Docker容器和虚拟机的区别
Docker简介及用途,为什么要使用Docker?Docker容器和虚拟机的区别
|
6月前
|
NoSQL Redis Docker
[docker] Compose 简介
[docker] Compose 简介