网站集成支付宝教程,广州网站制作在线,吉安哪里做网站,网上租服务器价格表目录
一、Docker 概述
1、什么时Docker
2、Docker的设计宗旨
4、Docker的优点
5、Docker容器和虚拟机的区别
6、 namespace的隔离#xff08;命名空间#xff09;
7、 Docker的三个核心概念
7.1 镜像
7.2 容器
7.3 仓库#xff08;Docker Hapu#xff09;
二、D…目录
一、Docker 概述
1、什么时Docker
2、Docker的设计宗旨
4、Docker的优点
5、Docker容器和虚拟机的区别
6、 namespace的隔离命名空间
7、 Docker的三个核心概念
7.1 镜像
7.2 容器
7.3 仓库Docker Hapu
二、Docker安装
1、关闭防火墙
2、安装依赖包
3、设置阿里云镜像
4、安装Docker-CE社区版并设置为开机自启动
5、查看Docker信息
6、设置镜像加速
6.1 申请加速地址
6.2 实现加速操作
三、一键安装部署docker 一、Docker 概述
1、什么时Docker
Docker是一个开源的应用容器引擎基于go语言开发并遵循了apache2.0协议开源。Docker是在Linux容器里运行应用的开源工具是一种轻量级的“虚拟机”。Docker 的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器。
总结
容器提供在多台主机上运行程序相同的运行环境.
docker容器可以看做运行在宿主机上的一个进程,容器共享宿主机的内核,容器间是通过namespace(命令空间)隔离资源,通过cgroups(资源配额)去限制资源。
2、Docker的设计宗旨
Docker 的Logo设计为蓝色鲸鱼拖着许多集装箱鲸鱼可以看作为宿主机集装箱可以理解为相互隔离的容器每个集装箱中都包含自己的应用程序。
Docker的设计宗旨Build,Ship and Run Any App,Anywhere即通过对应用组件的封装发布、部署、运行等生命周期的管理达到应用组件级别的 一次封装到处运行的 目的。这里的组件既可以是一个应用也可以是一套服务甚至是一个完整的操作系统。
4、Docker的优点
灵活 即使是复杂的应用也可以集装箱化轻量级 容器利用并共享主机内核可互换 可以及时部署更新和升级便捷式 可以在本机构建部署到云并在任何地方运行可扩展 可以增加并自动分发容器副本可堆叠 可以垂直和及时堆叠服务
容器是在linux上本机运行并与其他容器共享主机的内核它运行的是一个独立的进程不占用其他任何可执行文件的内存非常轻量。 虚拟机运行的是一个完整的操作系统通过虚拟机管理程序对主机资源进行虚拟访问相比之下需要的资源更多。
5、Docker容器和虚拟机的区别
与虚拟机相比容器资源损耗要小同样的宿主机下能够建立容器的数量要比虚拟机多但是虚拟机的安全性要比容器稍好要从虚拟机攻破到宿主机或其它虚拟机需要先攻破Hypervisor层这是极其困难的。而Docker容器与宿主机共享概念股内核文件系统等资源更有可能对其它容器、宿主机产生影响。
特性不同点Docker容器虚拟机部署难度非常简单组件多部署复杂启动速度秒级分钟级执行性能和物理系统一致共享内核VM会占用部分资源50%损耗镜像体积磁盘占用MB级别GB级别管理效率简单各组件相互依赖管理复杂可管理性单进程完整的系统管理网络连接弱借助neutron可以灵活组件各类网络管理系统支持量单机上千个几十个隔离性进程级别系统级别封装程度直达包项目代码和依赖关系共享宿主机内核完整的操作系统与宿主机隔离
6、 namespace的隔离命名空间
docker本质就是宿主机的一个进程docker是通过namespace实现资源隔离通过cgroup实现资源限制通过写时复制技术copy-on-write实现了高效的文件操作类似虚拟机的磁盘比如分配500g并不是实际占用物理磁盘500g。
namespace系统调用参数隔离内容判断两个环境是否完全隔离utcCLONE_NEWUTS主机名与域名同一个环境里不能叫node1又叫node2ipcCLONE_NEWWIPC信号量、消息队列和共享内存不同的应用调用内存资源的时候应该使用不同的内存空间pidCLONE_NEWPID进程编号networkCLONE_NEWNET网络设备、网格栈、端口等mountCLONE_NEWNS挂载点文件系统不能重复挂载一个指定目录userCLONE_NEWUSER用户和组3.8以后的内核才支持
7、 Docker的三个核心概念
7.1 镜像
Docker的镜像是创建容器基础 类似虚拟机的快照可以理解为一个面向Docker容器的引擎的只读模板。通过镜像启动一个容器一个镜像是一个可执行的包其中包括运行程序所需要的所有内容包含代码、运行时间、库、环境变量和配置文件Docker镜像也是一个压缩包只是这个压缩包不只是可执行文件环境部署脚本它还包含了完整的操作系统。因为大部分的镜像都是基于某个操作系统来构建的所有很轻松的就可以构建本地和远程一样的环境这也是docker镜像的精髓
7.2 容器
Docker的容器创建的运行实例它可以被启动、停止、和删除所创建的每一个容器都是相互隔离互不可见的以保证平台的安全性。
可以把容器看做一个简易版linux环境包括root用户权限镜像空间、用户空间和网络空间和运行在其它的应用程序。
7.3 仓库Docker Hapu
公共仓库docker hub
私有仓库harhor
Docker仓库是用来集中保存镜像的地方当创建了自己的镜像之后可以使用push命令将它上传到公有仓库或私有仓库当下次要在另外一台机器上使用这个镜像时只需要从仓库获取。Docker的镜像、容器、日志等全部内容都默认存储在/var/lib/docker目录下。
二、Docker安装
1、关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 02、安装依赖包
yum -y install yum-utils device-mapper-persistent-data lvm2#解释
yum-utils #提供了yum-config-manager工具
device mapper #是linux内核中支持逻辑卷管理的通用设备映射机制它为了实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构。
#device mapper存储驱动程序需要device-mapper-persistent-data和lvm2.3、设置阿里云镜像
cd /etc/yum.repos.dyum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo4、安装Docker-CE社区版并设置为开机自启动
开源社区免费版docker-ce
企业版收费docker-ee
yum -y install docker-cesystemctl start docker.service
systemctl enable docker.service#安装好的Docker系统有两个程序Dcoker服务端和docker客户端
-1、其中docker服务端是一个服务进程负责管理所有容器。
-2、Docker客户端则扮演Docker服务端的远侧还能够控制器可以用来控制Docker的服务进程大部分情况下Docker服务端和客户端运行在一台机器上。5、查看Docker信息
docker version6、设置镜像加速
6.1 申请加速地址
#第一种进入方法
进入阿里云的官方账号点击控制台搜索容器镜像后点击容器镜像服务#第二种进入方法
https://help.aliyun.com/document_detail/60750.html#进入之后登录阿里云账号即可获取加速度地址复制配置镜像加速器的操作。6.2 实现加速操作 三、一键安装部署docker #!/bin/bash#关闭防火墙
systemctl stop firewalld
setenforce 0#安装依赖包
yum -y install yum-utils device-mapper-persistent-data lvm2#设置阿里云镜像
cd /etc/yum.repos.d
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo#开始安装docker
yum -y install docker-ce#启动docker
systemctl start docker
systemctl enable docker#设置镜像加速(最好用自己的)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json -EOF
{registry-mirrors: [https://i2q96v0n.mirror.aliyuncs.com]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker#网络优化
echo net.ipv4.ip_forward1 /etc/sysctl.conf
sysctl -p
systemctl restart network