Docker容器技术实战1

本单元分别从容器的镜像,仓库,网络,数据卷和安全五个方面来对Docker基础做一个认知学习

1、docker容器

Docker容器技术实战1_第1张图片

docker相当于传统的货运集装箱

虚拟机(Virtual Machine,VM)是一个完整的虚拟操作系统和硬件环境。它的工作原理是通过在一台物理主机上使用虚拟化软件来创建多个虚拟机实例,每个实例都可以运行独立的操作系统和应用程序。每个虚拟机都有自己的虚拟硬件和资源分配,并且可以在不同的物理服务器之间迁移。虚拟机提供了更高的隔离性安全性,适合于运行多个操作系统和复杂的应用程序环境。

Docker是一个轻量级的容器化平台,它使用操作系统层面的虚拟化技术,将应用程序及其依赖打包为一个可移植的容器,然后在主机的操作系统上运行。Docker容器共享主机操作系统的内核,因此比虚拟机更轻量级和高效。容器可以在不同的主机之间轻松部署和迁移,并且启动时间非常快速。Docker适合于部署单个应用程序或服务,并提供了更高的可伸缩性和性能

建立第一个docker容器

Docker容器技术实战1_第2张图片Docker容器技术实战1_第3张图片Docker容器技术实战1_第4张图片

安装docker-ce

Docker容器技术实战1_第5张图片

设置开机自启

ad193c38857f4cf192c26075c1db01e7.png

激活内核选项并重启服务

Docker容器技术实战1_第6张图片Docker容器技术实战1_第7张图片

启动容器并查看已激活容器

Docker容器技术实战1_第8张图片

访问

Docker容器技术实战1_第9张图片Docker容器技术实战1_第10张图片Docker容器技术实战1_第11张图片Docker容器技术实战1_第12张图片

2、docker镜像

Docker容器技术实战1_第13张图片

Docker镜像的分层结构是Docker的一个重要概念,它是Docker镜像的构建和管理的基础。Docker镜像的分层结构简单可以描述为以下三层:

(1)基础层:每个Docker镜像都由一个或多个基础层开始。基础层是只读的,包含了操作系统的文件系统和软件包.

(2)中间层:在基础层之上,可以有任意数量的中间层。中间层为镜像添加了文件、配置等内容,每一层都是镜像的一部分。

(3)顶层:最后一层是顶层,也被称为容器层。这是可写层,它使得Docker容器可以在只读的基础层上进行读写操作。当Docker容器运行时,任何对文件系统的更改都会被记录在这个层中。

分层结构的最大好处是层与层之间可以进行资源的共享,这种分层结构使得Docker镜像的创建、存储和传输都变得高效和灵活。.

Docker容器技术实战1_第14张图片

存储所有镜像文件内容的目录(绝对不能随意删除)

Docker容器技术实战1_第15张图片

镜像的构建

Docker容器技术实战1_第16张图片镜像层是只读的,修改的东西只保存在容器层,当保存的时候,容器层就会保存成新的镜像层,一个镜像最多127 层;

docker 从上往下会依次查找文件,这样修改的内容就会被优先读取到。

Docker容器技术实战1_第17张图片Docker容器技术实战1_第18张图片Docker容器技术实战1_第19张图片

注:容器层是与容器生命周期保持一致的,删除容器时,容器层也会同步被删除。

Docker容器技术实战1_第20张图片

此种方法不利于安全审计

构建镜像

Docker容器技术实战1_第21张图片Docker容器技术实战1_第22张图片

Dockerfile详解

Docker容器技术实战1_第23张图片Docker容器技术实战1_第24张图片Docker容器技术实战1_第25张图片Docker容器技术实战1_第26张图片Docker容器技术实战1_第27张图片Docker容器技术实战1_第28张图片Docker容器技术实战1_第29张图片d15472c042bd443f9b5fcccb209d5e40.pngDocker容器技术实战1_第30张图片Docker容器技术实战1_第31张图片相当于将命令集成使用

Docker容器技术实战1_第32张图片Docker容器技术实战1_第33张图片Docker容器技术实战1_第34张图片

自动删除所有已经被停止的容器

Docker容器技术实战1_第35张图片

查看容器详情

Docker容器技术实战1_第36张图片

数据卷挂载

Docker容器技术实战1_第37张图片

自动分配的IP

Docker容器技术实战1_第38张图片

访问容器

Docker容器技术实战1_第39张图片

此地址无法使用外部浏览器进行访问,因为没有做端口映射,这是一个私有网段,无法从windows访问。

3、镜像的优化

Docker容器技术实战1_第40张图片

缩减镜像层

Docker容器技术实战1_第41张图片Docker容器技术实战1_第42张图片

缩减镜像层数,删除中间产物

38639944103747ec8242242740ffcd04.pngDocker容器技术实战1_第43张图片

多阶段构建

Docker容器技术实战1_第44张图片

导入基础镜像

Docker容器技术实战1_第45张图片

nginx依赖库地址:nginx-distroless/Dockerfile at master · kyos0109/nginx-distroless · GitHub

拷贝依赖库

Docker容器技术实战1_第46张图片Docker容器技术实战1_第47张图片

依赖库有错误的情况:Docker容器技术实战1_第48张图片

重新构建:Docker容器技术实战1_第49张图片Docker容器技术实战1_第50张图片

你可能感兴趣的:(docker,容器,运维)