docker概念&&部署_docker部署是什么意思-程序员宅基地

技术标签: 容器  linux  docker  

Docker

它是一个开源的应用容器引擎,基于go语言开发并遵循apache
2.0协议开源是在linux容器里运行应用的开源工具;是一种轻量级的“虚拟机”,docker的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的,可移植的,自给自足的容器。
在这里插入图片描述

Docker与虚拟机的区别

在这里插入图片描述

Docker的使用场景

在这里插入图片描述

应用场景 1:简化配置
应用场景 2:代码流水线(Code Pipeline)管理
应用场景 3:提高开发效率
应用场景 4:隔离应用
应用场景 5:整合服务器
应用场景 6:调试能力
应用场景 7:多租户环境
应用场景 8:快速部署

为什么要用docker

持续部署与测试
优异的跨平台性
高资源利用率与隔离
环境标准化和版本控制
应用镜像仓库
在这里插入图片描述

Docker的核心概念

镜像

  • 一个面向docker容器引擎的只读模板
    那么镜像到底是什么呢?Docker 镜像可以看作是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。

镜像不包含任何动态数据,其内容在构建之后也不会被改变。镜像(Image)就是一堆只读层(read-only layer)的统一视角,也许这个定义有些难以理解,下面的这张图能够帮助读者理解镜像的定义:在这里插入图片描述从图我们看到了多个只读层,它们重叠在一起。除了最下面一层,其他层都会有一个指针指向下一层。这些层是 Docker 内部的实现细节,并且能够在主机的文件系统上访问到。

统一文件系统(Union File System)技术能够将不同的层整合成一个文件系统,为这些层提供了一个统一的视角。

这样就隐藏了多层的存在,在用户的角度看来,只存在一个文件系统。我们可以在图片的右边看到这个视角的形式。

容器

  • 从镜像创建的运行实例
    容器(Container)的定义和镜像(Image)几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的。在这里插入图片描述由于容器的定义并没有提及是否要运行容器,所以实际上,容器 = 镜像 + 读写层

仓库

  • 集中保留镜像的地方
    Docker 仓库是集中存放镜像文件的场所。镜像构建完成后,可以很容易的在当前宿主上运行。

但是, 如果需要在其他服务器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务,Docker Registry(仓库注册服务器)就是这样的服务。

有时候会把仓库(Repository)和仓库注册服务器(Registry)混为一谈,并不严格区分。

Docker 仓库的概念跟 Git 类似,注册服务器可以理解为 GitHub 这样的托管服务。

实际上,一个 Docker Registry 中可以包含多个仓库(Repository),每个仓库可以包含多个标签(Tag),每个标签对应着一个镜像。

所以说,镜像仓库是 Docker 用来集中存放镜像文件的地方,类似于我们之前常用的代码仓库。

通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本 。

我们可以通过<仓库名>:<标签>的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以 Latest 作为默认标签。

仓库分为公有跟私有,公有仓库是docker官方仓库,私有仓库是个人化,私有化的仓库

  • 总结 docker是容器管理工具,容器由镜像创建而来,镜像从仓库中获取而来,仓库分为公有私有

Docker安装

Docker两种安装方式
1、使用CURL获得Docker的安装脚本进行安装
2、使用YUM仓库来安装Docker

环境配置

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

vim /etc/reslov.conf
nameserver 114.114.114.114

安装依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2
 		##device-mapper-persistent-data:存储驱动
		##lvm2:控制工具
设置阿里云镜像源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

在这里插入图片描述

安装本地索引缓存

yum makecache fast

安装并开启docker

yum install docker-ce -y  #安装社区版
systemctl start docker
systemctl enable docker
#查看是否安装成功
docker version

设置镜像加速

官方镜像加速器(阿里云网站)
关于加速器的地址,您登录容器镜像服务控制台后,在左侧导航栏选择镜像工具 ----> 镜像加速器,在镜像加速器页面就会显示为您独立分配的加速器地址
https://help.aliyun.com/document_detail/60750.html
通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
自己的加速器:https://eusc79iy.mirror.aliyuncs.com
在这里插入图片描述

配置使用

[root@localhost yum.repos.d]# systemctl start docker
[root@localhost yum.repos.d]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@localhost yum.repos.d]# mkdir -p /etc/docker/
[root@localhost yum.repos.d]# tee /etc/docker/daemon.json <<-'EOF'
> {
    
>   "registry-mirrors": ["https://eusc79iy.mirror.aliyuncs.com"]
> }
> EOF
{
    
  "registry-mirrors": ["https://eusc79iy.mirror.aliyuncs.com"]
}
[root@localhost yum.repos.d]# systemctl daemon-reload
[root@localhost yum.repos.d]# systemctl restart docker

生产经验

#docker-server端配置文件daemon . json
{
    
"graph" : " / data/docker" ,			#数据目录/var/ lib/docker
"storage-driver" : "overlay2" ,			#存储引擎,早期的时候存储引擎使用的是aufs,现在是overlay2
"insecure-registries": [ "registry.access.redhat.com" , "quary.io"]	#私有仓库
"registry-mirrors" :[ "https :/lq"]		#镜像加速
"bip": "172.7.5.1/24",					#docker网络
"exec-opts" : [ "native.cgroupdriver=systemd" ],	#启动时候的额外参数(驱动,k8s使用)
" live-restore" : true					#当docker容器引擎挂掉的时候,使用docker跑起来的容器还能运行(分离)
}
以上是建议的配置项
docker容器网络生产经验
docker 的网络建议和宿主机的工P"对照”
比如宿主机 10.2.5.6容器的地址就可以修改为172.5.6.1,这样方便在故障发生时,更容易定位故障节点位置

网络优化

vim /etc/sysctl.conf
	net.ipv4.ip_forward=1  #开启路由转发
sysctl -p
systemctl restart network
systemctl restart docker
docker images 或 docker image ls	##查询镜像列表
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xiaobai316/article/details/121512524

智能推荐

Vue - 超详细实现文字上下滚动功能效果,类似网站公告文字循环翻滚、中将人员名单公布上下无限滚动效果(支持鼠标移入时悬停停止滚动、接口动态数据渲染、自由DIY样式等)_vue - 超详细实现文字上下滚动功能效果,类似网站公告文字循环翻滚、中将人员名单-程序员宅基地

文章浏览阅读3.3k次,点赞3次,收藏4次。vue文字上下翻滚,vue实现文字上下滚动,vue公告栏文字上下滚动效果代码,vue2如何做类似网站公告的文字上下翻滚动,vue怎么写文字上下来回交替滚动功能,vue2公告栏上下滚动,vue实现公告栏文字上下滚动效果,vue实现多个滚动公告,鼠标移入停止滚动,Vue中实现文字向上滚动的动画效果_vue2文字向上循环滚动,Vue2写文本上下无限滚动以及文本左右无限滚动的效果,vue2如何实现文字上下滚动跑马灯效果,vue2实现文字滚动效果,一条滚动完毕下一条从下面往上滚动,vue2动态文字滚动公告代码,vue_vue - 超详细实现文字上下滚动功能效果,类似网站公告文字循环翻滚、中将人员名单

centos7-x86_64 kernel 4.18 安装_centos7 kernel 4.18-程序员宅基地

文章浏览阅读1.8k次。#.下载 4.18 rpm合集压缩包wget https://gitee.com/ysj001/public/raw/master/kernel-4.18.16.tar.gz# 解压tar zxvf kernel-4.18.16.tar.gz#安装yum install -y *rpm_centos7 kernel 4.18

爬虫爬取小说_番茄小说爬取-程序员宅基地

文章浏览阅读1.8k次,点赞12次,收藏11次。通过对网页结构分析,发现文字有一些超出了编码范围,于是可以推断出,字体暗藏玄机,找到网页字体文件后,下载到本地,用Fontforge打开,发现只从e3e8到e55b有文字,所以可以得出番茄使用了两套字体加载文本内容,当字符超出一定范围,就使用另一种。通过观察层级结构,我们使用xpath语法 //div[@class=“muye-reader-content noselect”]/div//p 获得文章内容,到此,所以需要的信息已经爬完了,只需要处理循环逻辑,保存文件就行。获取内容如图,具有乱码。_番茄小说爬取

Lyx缺少Document class_lyx模板都不可用-程序员宅基地

文章浏览阅读336次。Lyx缺少必要的document class_lyx模板都不可用

ios9/sdk9/xcode7/iphone6s(+)适配 -程序员宅基地

文章浏览阅读161次。 ios9 企业级分发iOS9网络适配_ATS为了强制增强数据访问安全,iOS9 默认会把所有从NSURLConnection 、 CFURL 、 NSURLSession发出的 HTTP 请求,都改为 HTTPS 请求:iOS9.x-SDK编译时,默认会让所有从NSURLConnection 、 CFURL 、 NSURLSession发出的 HTTP 请求统一采用TLS 1...

java Spring Boot整合jwt实现token生成_springboot项目生成token-程序员宅基地

文章浏览阅读1k次。这里 我是直接不管了 不管他传什么进来 只要是符合我users类格式的 我就算他登录通过 通过getid生成一个token 返回回去。然后 这里 我们加一个属性类 用于用户登录使用 这里 我就搞简单一点 直接 一个id 一个name了。这里需要注意的是 如果你想通过id生成token 那么 你的id必须是个字符串。因为登录接口要用 JwtUtils 所以 最好建在登录接口的类的同目录下。然后 我们接口所在的类 要条件装配好我们用户的属性类 也就是 users。_springboot项目生成token

随便推点

常见的Markdownpad2运行破解以及This view has crashed!报错和Awesomium1.6.6SDK安装使用_awesomium 1.6.6 sdk-程序员宅基地

文章浏览阅读1.8k次,点赞2次,收藏7次。MarkDownPad2安装地址:MarkdownPad2: 安装点击此链接.提示:需等待一两秒即可MarkdownPad2报错提示This view has crashed:打开MarkdownPad2编辑器之后会出现界面右边无法渲染,并提示错误This view has crashed,这时您需要安装组件Awesomium1.6.6SDK。提示:Awesomium 1.6.6 SDK安装:Awesomium 1.6.6 SDK: 安装点击此链接.之后重启MarkdownPad2一下,_awesomium 1.6.6 sdk

[RK3288][Android6.0] 调试笔记 --- pmu(rk818)寄存器读写【转】-程序员宅基地

文章浏览阅读174次。本文转载自:http://blog.csdn.net/kris_fei/article/details/76919134Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92rk的pmu模块只提供了每次单个寄存器的读写,驱动提供了这个节点供使用:/sys/rk818/rk818_test 举例:读取:echo r 0x23 ..._mtk_perf_plus

【机器学习】高斯回归过程GPR_高斯过程回归 kriging-程序员宅基地

文章浏览阅读418次。我是知识的搬运工_高斯过程回归 kriging

[Win32SDK基本]ListView Controls(1)Report (details) View 详解_syslistview32l 换行-程序员宅基地

文章浏览阅读7k次,点赞5次,收藏16次。本文由CSDN用户zuishiko所作,转载请注明出处:http://blog.csdn.net/zuishikonghuan/article/details/46872885老规矩,先上MSDN:https://msdn.microsoft.com/en-us/library/windows/desktop/bb774737(v=vs.85).aspx其实还是子窗口,static那节_syslistview32l 换行

QT 网络编程(一)-程序员宅基地

文章浏览阅读1.1k次,点赞38次,收藏20次。Qt 网络编程相关

软工视频总结-程序员宅基地

文章浏览阅读614次。经过十天的时间,对软工视频进行一下简单的总结。软工视频总共有24讲,一讲大约50分钟。前3章介绍软工视频的历史。 第 6 讲 1.需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决,目标系统的“做什么”的问题。 2.问题识别的另一项工作是建立分析所需要的通信途径,以保证能顺利地对问题进行分析。