admin管理员组

文章数量:1602034

容器是一种轻量级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行。开发人员在自己笔记本上创建并测试好的容器,无须任何修改就能够在生产系统的虚拟机、物理服务器或公有云主机上运行
(1)下载安装包并安装:
下载windows版本docker
下载win10运行所需的wsl_update_x64.msi
先行安装docker,再安装wsl_update_x64.msi,完成后运行即可。
注:Windows Subsystem for Linux(简称WSL)是一个在Windows 10上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层
(2)运行成功后配置需要的加速源,加快下载的速度:
注意在原配置后加一个逗号:

"registry-mirrors": [
    "https://hub-mirror.c.163",
    "https://mirror.baidubce"
]


添加后自动重启并配置,在windows power shell下,使用命令docker info,显示配置后的结果:

(3)存储镜像的迁移工作:
原先默认的镜像存储空间位置为C盘,系统盘可能空间不够,可将相关镜像导出,另选其它地方存放。
导出镜像:
wsl --export docker-desktop-data “F:\docker-desktop-data.tar”
反注册:
wsl --unregister docker-desktop-data
在目标盘新建F:\docker\wsl文件夹后运行:
wsl --import docker-desktop-data “F:\docker\wsl” “F:\docker-desktop-data.tar” --version 2
在如下界面取消,重启并重新勾选Use the wsl2 based engine完成存储镜像的迁移工作。

(4)docker介绍:

Java程序就好比是容器,JVM则好比是runtime, JVM为Java程序提供运行环境。同样的道理,容器只有在runtime中才能运行。lxc、runc和rkt是目前主流的三种容器runtime。

runc是Docker自己开发的容器runtime,符合oci规范,也是现在Docker的默认runtime。

容器定义工具允许用户定义容器的内容和属性,这样容器就能够被保存、共享和重建

docker image是Docker容器的模板,runtime依据docker image创建容器。dockerfile是包含若干命令的文本文件,可以通过这些命令创建出docker image。

容器是通过image创建的,需要有一个仓库来统一存放image,这个仓库就叫做Registry。
Docker Hub(https://hub.docker)是Docker为公众提供的托管Registry,上面有很多现成的image,为Docker用户提供了极大的便利。

容器编排引擎:

容器核心技术使得容器能够在单个host上运行,而容器平台技术能够让容器作为集群在分布式环境中运行。容器平台技术包括容器编排引擎、容器管理平台和基于容器的PaaS,
kubernetes是Google领导开发的开源容器编排引擎,同时支持Docker和CoreOS容器。
动态变化是微服务应用的一大特点。当负载增加时,集群会自动创建新的容器;负载减小,多余的容器会被销毁。容器也会根据host的资源使用情况在不同host中迁移,容器的IP和端口也会随之发生变化。在这种动态的环境下,必须要有一种机制让client能够知道如何访问容器提供的服务。这就是服务发现技术要完成的工作。服务发现会保存容器集群中所有微服务最新的信息,比如IP和端口,并对外提供API,提供服务查询功能。

由于所有的容器共享同一个Host OS,这使得容器在体积上要比虚拟机小很多。另外,启动容器不需要启动整个操作系统,所以容器部署和启动速度更快、开销更小,也更容易迁移。

容器与虚拟机的区别:

docker系统如同一个又一个的集装箱,使内部的软件可以连同依赖一起打包。
Docker采用的是Client/Server架构。客户端向服务器发送请求,服务器负责构建、运行和分发容器。客户端和服务器可以运行在同一个Host上,客户端也可以通过socket或REST API与远程的服务器通信。


加-H与远程服务器通信

镜像

镜像有多种生成方法:(1)从无到有开始创建镜像;(2)下载并使用别人创建好的现成的镜像;(3)在现有镜像上创建新的镜像。
通过执行docker build 命令可以构建出Docker镜像
docker pull命令可以从Registry下载镜像。docker run命令则是先下载镜像(如果本地没有),然后再启动容器。
docker images可以查看镜像
docker ps显示正在运行的容器

本文标签: 容器简介系统Docker