首页 > 其他分享 >Docker基础与基本概念

Docker基础与基本概念

时间:2024-09-07 22:02:30浏览次数:3  
标签:容器 tar 基础 redis gz 基本概念 镜像 docker Docker

  1. docker与传统虚拟机的架构对比

传统的虚拟机在宿主OS上运行Hypervisor, 在Hypervisor上运行虚拟操作系统如RHEL, CentOS等。应用App是运行在虚拟操作系统上的。

容器在宿主OS上运行Docker Engine,而应用App是直接运行在Docker Engine上的。容器上运行的App与宿主OS共享硬件资源,如CPU和内存。以VMware为例,即使是企业级的esxi虚拟化技术,和容器的运行效率比仍然有 5%~45% 的性能差异。

  1. docker的安装

CentOS上运行如下命令安装docker

yum install docker-ce

如果遇到网络问题无法下载,可以修改 /etc/docker/damon.json 添加如下镜像链接

{
    "registry-mirrors": [
        "https://docker.rainbond.cc"
        "https://docker.1pnel.live"
    ]
}
  1. docker镜像的组成

docker镜像从下往上,有以下几个部分组成

  • 可写容器
  • 镜像,制作的应用镜像如Nginx, VIM等
  • 基础镜像rootfs,如ubuntu
  • 引导文件系统boots,包含内核和容器组、命名空间、设备映射等

doker容器分镜像层和容器层,镜像层是只读的,容器层允许修改镜像的整个副本。容器层使用写时复制技术,数据写入到挂载的宿主机数据卷中。

  1. 镜像的制作

镜像制作的dockerfile实例:

FROM centos
RUN yun -y install wget
RUN wget -O redis.tar.gz "https://download.redis.io/releases/redis-5.0.3.tar.gz"
RUN tar -xzvf redis.tar.gz

以上执行会创建3层镜像。可简化为以下格式:

FROM centos
RUN yun -y install wget && wget -O redis.tar.gz "https://download.redis.io/releases/redis-5.0.3.tar.gz" && tar -xzvf redis.tar.gz

原则上一个容器运行一个应用。

  1. docker的一些命令

编译docker镜像

docker build -t nginx:v20

运行docker镜像

docker run -itd -p 8000:80 nginx:v20

查看宿主和容器的端口映射

iptables -t nat -L -n

查看docker挂载的卷

docker volume ls

查看docker网络

docker network ls

查看docker里进程

docker ps

标签:容器,tar,基础,redis,gz,基本概念,镜像,docker,Docker
From: https://www.cnblogs.com/jigsawecho/p/18402228

相关文章

  • Mininet MAC地址学习:通过Mininet模拟二层交换机和两个主机,通过两个主机通信来了解交换
    一.MAC地址学习1.登录我们创建mininet的虚拟机,创建一个线型拓扑,控制器设置为无。2.查看全部节点,查看链路信息,然后查看节点信息3.再打开一个终端(Terminal窗口2),然后打开交换机s1和交换机s2的二层(因为交换机s1和交换机s2是两个SDN交换机,在启动Mininet时没有指定任何控制器,交......
  • Zabbix01 Zabbix安装和基础功能
    商业监控方案#从各个地区来监测网络情况http://ping.chinaz.com/站长之家免费https://www.jiankongbao.com/监控宝...#云服务自带云监控系统 Zabbix架构#zabbixweb为php程序如果公司规模小,zabbixserver,db和zabbixweb装在一台机器上如果公司规模......
  • 【赛后反思】洛谷基础赛 #15 &「LAOI」Round 6 考后总结(待补完)
    LGR-198-Div.3考后总结又要掉分了:展开目录目录LGR-198-Div.3考后总结A[太阳]]请使用最新版手机QQ体验新功能-100ptsBRadiation-100ptsC区间测速-50ptsDYetAnotherGraphColorationProblem-5ptsA[太阳]]请使用最新版手机QQ体验新功能-100pts因为实际上要截......
  • Uniapp核心基础(一)
    特点uni-app是一个使用Vue.js开发所有前端应用的框架,它允许开发者编写一套代码,然后发布到iOS、Android、Web(响应式)、以及各种小程序(如微信、支付宝、百度、头条等)等多个平台。以下是对uni-app核心基础的详细解析:一、核心特性跨平台开发:uni-app的最大特点是跨平台,一套代码可发布到iO......
  • 零基础上手WebGIS+智慧校园实例(长期更新#2)【html by js】
    请点个赞+收藏+关注支持一下博主喵!!!等下再更新一下1.WebGIS矢量图形的绘制(超级详细!!),2.WebGIS计算距离,以及智慧校园实例with3个例子!!!!,尽情期待!!!之后代码+资料全部发到github里,希望大家能关注一下咱的Github进行WebGIS开发时,引入API是一个关键步骤,它允许开发者将地图服务和功......
  • Java基础13
    内部类将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,类B则称为外部类。 内部类的声明理由:当一个事物A的内部,有一部分需要一个完整的结构B进行描述,而这个内部结构B只为外部事物A提供服务,并不会在其他地方用到,那么整个内部的完整结构B最好使用内部类。遵循高内聚......
  • 【全网最新最全】Docker面试题
    目录一、Docker是什么?为什么要使用Docker? 二、Docker常用命令有哪些?三、什么是Dockerfile?四、Dockerfile有哪些常见语法?五、什么是数据卷?有哪些命令?六、什么是DockerCompose?七、有了Docker为什么还需要K8s?一、Docker是什么?为什么要使用Docker? Docker是一个高效......
  • C++ 模板基础知识——可变参数模板
    目录C++模板基础知识——可变参数模板1.可变参函数模板1.1基本含义1.2利用constexprif优化递归函数1.3关于constexprif的进一步理解1.4重载2.折叠表达式2.1一元左折(UnaryLeftFold)2.2一元右折(UnaryRightFold)2.3二元左折(BinaryLeftFold)2.4二元右折......
  • 图神经网络基础(1)
    1.什么是图?        我们最熟悉的社交网络就是一个最典型的图       通常用图指代一种广义的抽象结构,用来表示一堆实体和它们之间的关系。实体被叫作图的节点,而实体和实体之间的关系构成了图的边。—个图G={γ,g}包含一个节点集合γ和一个边的集合g。以社......
  • Linux基础操作
    目录1:XShell下的复制粘贴2:全屏3:进入自己的用户4:用root账户,创建普通用户5:输错时可以ctrlc换行 指令可以携带选项 文件属性​编辑​编辑6:文件介绍和类型7:ls指令(ls/home查看自己的创建用户)8:pwd命令9:cd指令10:touch指令11:mkdir指令(重要)12:tree的创......