Docker容器内容总结

目录

一、Docker概述

1.Docker是什么

2.Docker三个统一方式

3.Docker三要素

4.Docker底层原理

5.Docker常规命令

6.Docker网络

7.Docker散装的功能

二、Dockerfile

1.Dockerfile创建镜像流程

2.Dockerfile常规指令

三、Docker-Compose

1.YML文件内部控制参数

2.Docker-Compose命令

四、Consul

1.定义

2.启动consul后默认会监听的5个端口

五、Docker镜像仓库

1.分类

 2.Harbor核心组件

3.Docker-Harbor私有仓库过程

4.私有仓库指向私有仓库的方式


一、Docker概述

1.Docker是什么

容器技术之一,是虚拟化技术迭代后的产物---->容器和虚拟化有何区别(容器和KVM有何区别)
核心点:KVM是完整的操作系统,但是容器共享内核的进程来支持

容器优势---->对于市场的流行的技术来说  微服务

容器:对应用程序和系统进行了解耦、发布方便、更新方便、移植方便、冗余备份方便(LB副本集)

2.Docker三个统一方式

  • 统一应用的封装    image
  • 统一应用环境       docekr engine
  • 统一应用的运行的方式   container容器 runc(容器运行时环境)

3.Docker三要素

  • 镜像:包含了各种环境或者服务(tomcat)的一个模板
  • 容器:是镜像(run)起来之后的一个实例,可以把容器看做一个简易版的linux环境容器就是集装箱(大鲸鱼logo上的集装箱)
  • 仓库:是存放镜像的场所,私有仓库    共有仓库 Docker hub (https://hub.docker.com)

docker是一种 C/S端架构,server端位于系统,表现形势为dameon(守护进程)

4.Docker底层原理

  • cgroup(资源限制)
  • namespace(资源隔离)    6个命名空间(隔离)
    • UTS:主机名与域名
    • IPC:信号量、消息队列和共享内存
    • PID:进程编号
    • NETWORK:网路设备、网络栈、端口等
    • MOUNT:挂载点(文件系统)
    • USER:用户和用户组(3.8以后的内核才支持)

5.Docker常规命令

命令含义
Docker images查看本地镜像

Docker ps

查看正在运行容器
Docker run运行容器
Docker start/stop/restart容器的开启/停止/重启
Docker create创建镜像
Docker tag为镜像添加标签
Docker rm/rmi删除容器/删除镜像
Docker build构建自定义镜像
Docker push上传镜像
Docker login/logout登入和登出镜像
Docker commit创建和改变镜像
Docker -it/-d/-v/-p(-P)/-c交互式会话/不关闭容器/创建逻辑卷/指定端口/指定shell操作
Docker exec进入容器
Docker version/info查看Docker版本信息/详细信息
Docker pull/search拉取镜像/搜索镜像
Docker logs输出日志
Docker cp复制,从宿主机到容器内,也可以容器内到宿主机
Docker save/load, <重定向输入(导入)导入正在运行的容器
Docker export/import导出正在运行的容器
network查看网卡
top查看运行状态
Docker stats查看运行的容器状态
选项含义
Docker-Compose up创建和启动容器
Docker-Compose down删除容器、网络、数据卷和镜像
Docker-Compose scale指定一个服务容器启动数量
Docker-Compose exec在容器里面执行命令
Docker-Compose build重新构建服务

6.Docker网络

  • None:是最简单的网络模式,此网络模式表示将容器拥有自己的网络命名空间,但不会进行任何网络配置,这实际给了用户完全的自主权来给自己配置容器的网络
  • Host:容器使用宿主机的网络直接公开服务,这意味着你在容器中运行一个Web服务,那么它就直接绑定到主机的网络接口上,而不是通过Dcoker进行任何网络转发
  • Bridge:默认的网络模式,每个新创建的容器都将该网络分配一个IP地址,此网络的模式允许所有Docker容器之间以及Docker宿主机之间进行互相通信
  • Container:这种模式允许容器去共享另一个容器网络命名空间,这说明两个容器可以相同的网络接口和IP地址,他们共享的是同一网络命名空间
  • overlay:叠加网络,指的就是在物理网络层上搭建一层网络,通过某种技术再去构建一张相同的网络  这张称为逻辑网

7.Docker散装的功能

  • 挂载: ① 数据卷  ② 数据卷容器
  • 暴露: ① -p 指定 ② -P  "默认分配"  49153为起始
  • 自定义网络 (指定容器IP)

二、Dockerfile

1.Dockerfile创建镜像流程

docker image 的制作---->过程:docker image镜像分层(① 内核-共享,② base image基础镜像层③ image 镜像层---->container容器工作层---->缓存复用)

基于镜像层介绍2个点:

  • 叠加能力:现在借助于overlay2 (存储引擎)
  • 分层分类(4层):lower(下层)  upper(上层) worker(容器层)  merged(视图/展示层)

2.Dockerfile常规指令

指令含义
FROM基础镜像(buid)
MAINTAINER维护人员的信息
RUN表示执行 ,并且RUN指令会产生一层新的镜像层
ENV环境变量传入
ADD/COPY

将源文件复制到镜像中

ADD则可以使用URL下载复制镜像,会将tar.gz的包自动解压并复制过去;COPY只是复制 

EXPOSE 指定新镜像加载到 Docker 时要开启的端口
VOLUME 在容器中创建一个挂载点
WORKDIR为后续的 RUN、CMD、ENTRYPOINT 指定工作目录
USER指定运行容器时的用户
HEATHCHECK健康检查
CMD启动容器时默认执行的命令或者脚本,Dockerfile只能有一条CMD命令。如果指定多条命令,只执行最后一条命令。
如果在docker run时指定了命令或者镜像中有ENTRYPOINT,那么CMD就会被覆盖。
CMD 可以为 ENTRYPOINT 指令提供默认参数。
ENTRYPOINT设定容器启动时第一个运行的命令及其参数。
可以通过使用命令docker run --entrypoint 来覆盖镜像中的ENTRYPOINT指令的内容。

三、Docker-Compose

1.YML文件内部控制参数

  • name
  • 自定义挂载卷
  • 自定义env环境变量 运行前》自定义网络
  • 自定义端口
  • 自定义传参(运行后)
  • 可以同时对多个容器个性化定义/编排

2.Docker-Compose命令

命令含义
build重新构建服务
ps列出容器
up创建和启动容器
exec在容器里面执行命令
scale指定一个服务器启动数量
top显示容器进程
logs查看容器输出(日志)
down删除容器、网络、数据卷和镜像
stop/start/restart停止/启动/重启服务

四、Consul

1.定义

动态 发现和更新应用(配置中心   temlate)
consul agent 的server模式
consul agent dev 模式开发者模式 (能使用所有功能)

2.启动consul后默认会监听的5个端口

  • 8300:集群内部数据的读写和复制,Replication(副本同步)、Leader(领导者)、Forwarding(转发)
  • 8301:单个数据中心cossip协议通讯,Lan Cossip的端口
  • 8302:不同据中心gossip协议通讯,Wan Gossip的端口
  • 8500:提供获取服务列表,注册服务,注销服务等HTTP接口:提供UI服务
  • 8600:采用DNS协议提供服务发现功能,用于已注册的服务发现,查看节点信息端口

五、Docker镜像仓库

1.分类

  • registry 私有仓库的核心,  只有字符终端
  • 进阶版  harbor 

 2.Harbor核心组件

  • Proxy反向代理 通过一个前置的反向代理,接收浏览器,Docker客户端的请求,并且把请求转发给后端的不同的服务
  • Registry:负责存储Docker镜像,处理Docker pull/push 命令下载和上传
  • Core Services
  • Harbor:核心功能,包括UI、WebHook、Token
    • UI:提供图形界面
    • Webhook:网站一些服务功能(通知机制)
    • Token:令牌,提供身份验证服务
  • Log collector:负责日志(其他组件的日志 上传 下载 用户 访问等日志)的收集,收集这些日志,以供后期进行分析和健康检查
  • Databases:为核心组件,提供数据库服务,主要记录数据库镜像的源信息以及用户的身份信息
  • Job Services:主要用于镜像复制,本地镜像可以被同步到远程Harbor实例上
  • Adminserver:用于管理用户操作以及身份认证

3.Docker-Harbor私有仓库过程

  1. 所有的请求或认为的操作都会首先交给proxy(反向代理)
  2. proxy会先将请求转发给后端Core services,Core services 中包含
  3. UI、token(身份验证服务)、webhook(网站的一些服务功能)
  4. 转发给registry(镜像存储),若需要下载镜像等权限操作,需要通过Core services中的token令牌的身份验证服务才行
  5. 每一次下载和上传都产生操作记录,生成日志,保存至database中
  6. database记录保存镜像的元信息及用户与组的身份信息,通过验证授权才能允许相关操作

4.私有仓库指向私有仓库的方式

  • /etc/docker/daemon.json
  • /usr/lib/systemd/system/docker.servce insecure-registrues $HARBOR_IP (私有仓库的IP地址)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/832660.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python数据分析所需要的语法基础

Python语言基础——语法基础 前言语法基础变量标识符数据类型输入与输出代码缩进与注释 总结 前言 对于学过C语言的人来说&#xff0c;python其实很简单。学过一种语言&#xff0c;学习另一种语言&#xff0c;很显然的能感觉到&#xff0c;语言大体上都是相通的。当然&#xf…

企业微信hook接口协议,ipad协议http,客户群发送任务,获取要发送的客户群列表

客户群发送任务&#xff0c;获取要发送的客户群列表 参数名必选类型说明uuid是String每个实例的唯一标识&#xff0c;根据uuid操作具体企业微信 请求示例 {"uuid": "1688853790533324","id":1101292747044333637, //群发任务id"keyword…

3.栈和队列(汇总版)

目录 1.栈&#xff08;一端插和删&#xff09; 2.队列&#xff08;一端插另一段删&#xff09; 2.1队列的概念及结构 2.2 队列的实现 队列的接口 1.初始化队列 2.销毁队列 3.插入元素 4.出队列&#xff08;头删&#xff09; 5.访问对头 6.访问队尾 7.判断队列是否为…

CMakeLists.txt语法规则:foreach循环的关键字

一. 简介 前一篇文章学习了 CMakeLists.txt语法中 foreach循环的基本用法。文章如下&#xff1a; CMakeLists.txt语法规则&#xff1a;foreach 循环基本用法-CSDN博客 本文继续 CMakeLists.txt语法中 foreach循环语句&#xff0c;主要学习 foreach循环中的关键字。 二. CM…

Android 官网Ota介绍

构建 OTA 软件包 | Android 开源项目 | Android Open Source Project

(网络初识)

网络发展史 独立模式 在最开始计算机被发明出来&#xff0c;但网络还未普及的情况下&#xff0c;每个计算机之间都是相互独立的&#xff1a; 假设现在有一份数据需要处理&#xff0c;然后这份数据的处理又分给三个人分别处理。假设小松处理进行第一部分的处理&#xff0c;当小…

Skywalking的重要功能详解

学习本篇文章之前首先要了解一下Sky walking的基础知识 分布式链路追踪工具Sky walking详解 一&#xff0c;Sky walking监控数据库 在admin服务中&#xff0c;连接数据库查询user表中所有数据 引入依赖 <dependency><groupId>mysql</groupId><artifactI…

上位机图像处理和嵌入式模块部署(树莓派4b和qt应用全屏占有)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 我们都知道&#xff0c;嵌入式应用一般都是为了某一个特定应用而存在的。也就是说&#xff0c;和pc不同&#xff0c;这个嵌入式板子一般都是为了解…

多组间比较散点图+误差棒(自备)

目录 数据 计算四分位值 作图 数据 rm(list ls()) library(ggplot2) library(dplyr) library(ggpubr) library(reshape2) library(tidyverse)data <- iris##鸢尾花数据集 dat <- data[,c(5,1)]#单个数据进行分析 计算四分位值 #根据分组计算四分位及中位数 dat1 …

使用Docker安装Redis

大家好&#xff0c;今天给大家分享一下如何使用docker安装Redis&#xff0c;关于docker的安装和常用命令&#xff0c;大家可以参考下面两篇文章&#xff0c;本文中不做过多描述。 Docker在Windows与CentOS上的安装 Docker常用命令 关于Redis的介绍与常用操作可以参考&#x…

中国科技大航海时代,“掘金”一带一路

文&#xff5c;白 鸽 编&#xff5c;王一粟 “这不就是90年代的内地吗&#xff1f;” 在深度考察完沙特市场后&#xff0c;华盛集团联合创始人兼CEO张霆对镜相工作室感慨道。 在张霆看来&#xff0c;沙特落后的基建&#xff08;意味着大量创新空间&#xff09;、刚刚开放…

AHB---数据总线

1. 数据总线 为了实现AHB系统&#xff0c;需要独立的读写数据总线。虽然推荐的最小数据总线宽度被指定为32位&#xff0c;但这可以根据数据总线宽度进行更改。 数据总线包含以下部分&#xff1a; HWDATAHRDATAEndianness&#xff08;字节序&#xff09; 1.1 HWDATA 在写传输…

【革命启示录】Spring框架:Java开发的“核聚变”能量源!

Hello&#xff0c;我是阿佑&#xff0c;今天给大家整的活是 《Java开发的“核聚变”能量源》 文章目录 Spring框架原理详解一、引言简介目的特点例子 二、背景介绍问题解决方案例子 三、核心概念3.1 控制反转&#xff08;Inversion of Control, IoC&#xff09;定义实现例子与代…

Sarcasm detection论文解析 |基于情感背景和个人表达习惯的有效讽刺检测方法

论文地址 论文地址&#xff1a;https://link.springer.com/article/10.1007/s12559-021-09832-x#/ 论文首页 笔记框架 基于情感背景和个人表达习惯的有效讽刺检测方法 &#x1f4c5;出版年份:2022 &#x1f4d6;出版期刊:Cognitive Computation &#x1f4c8;影响因子:5.4 &…

【python】基础语法

目录 一.注释和常见规则 二.变量及类型 1.数据类型 2.Numbers数字数据类型 3. 字符串类型 &#xff08;1&#xff09;字符串访问 &#xff08;2&#xff09;字符串拼接 4.List&#xff08;列表&#xff09;类型 &#xff08;1&#xff09; 定义 &#xff08;2&#…

【Linux】yum

&#x1f389;博主首页&#xff1a; 有趣的中国人 &#x1f389;专栏首页&#xff1a; Linux &#x1f389;其它专栏&#xff1a; C初阶 | C进阶 | 初阶数据结构 觉得本片文章写的还不错的可以&#x1f44d;点赞&#x1f44d;、&#x1f31f;收藏&#x1f31f;、&#x1f4dd;…

Golang | Leetcode Golang题解之第71题简化路径

题目&#xff1a; 题解&#xff1a; func simplifyPath(path string) string {stack : []string{}for _, name : range strings.Split(path, "/") {if name ".." {if len(stack) > 0 {stack stack[:len(stack)-1]}} else if name ! "" &am…

在uniapp里面使用 mp-html 并且开启 latex 功能

在uniapp里面使用 mp-html 并且开启 latex 功能 默认情况下 mp-html 是不会开启 latex 功能的, 如果需要开启 latex 功能是需要到代码操作拉取代码自行打包的。 这里说一下 mp-html 里面的 latex 功能是由 https://github.com/rojer95/katex-mini 提供的技术实现&#xff0c;…

计算机系列之数据库技术

13、数据库技术&#xff08;重点、考点&#xff09; 1、三级模式-两级映像&#xff08;考点&#xff09; 内模式&#xff1a;管理如何存储物理的数据&#xff0c;对应具体物理存储文件。 **模式&#xff1a;**又称为概念模式&#xff0c;就是我们通常使用的基本表&#xff0c…

每日算法-java

题目来自蓝桥云 // 这是一个Java程序&#xff0c;用于解决最长不下降子序列问题。 // 问题描述&#xff1a;给定一个整数序列&#xff0c;找到最长的子序列&#xff0c;使得这个子序列是不下降的&#xff08;即相邻的元素不严格递减&#xff09;。 // 程序使用了动态规划的方法…