首页 > 其他分享 >docker

docker

时间:2024-09-10 15:46:17浏览次数:1  
标签:容器 ce https 镜像 docker Docker

Docker的基础原理


image-20240902140327101

image-20240903140807385

image-20240903140931651

SaaS
提供给客户的服务是运营商运行在云计算基础设施上的应用程序,用户可以在各种设备上通过过客户端界面访问,如浏览器。消费者不需要管理或控制任何云计算基础设施,包括网络、服务器、操作系统、存储等等;平时使用的邮件服务器,即属于SaaS服务。

PaaS
提供给消费者的服务是把客户采用提供的开发语言和工具(例如:JAVA,python,.net)开发的或收购的应用程序部署到供应商的云计算基础设施上去,客户不需要管理或控制底层的云基础设施,包括网络、服务器、操作系统、存储等,但客户能控制部署的应用程序,也可能控制运行应用程序的托管环境配置,更适合提供给开发人员使用,在这里也可以使用docker容器技术实现。

IaaS
提供给消费者的服务是对所有云计算基础设施的利用,包括处理CPU、内存、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序。消费者不管理或控制任何云计算基础设施,但能控制操作系统的选择、存储空间、部署的应用,也有可能获得有限制的网络组件(例如:路由器,防火墙,负载均衡器等)的控制。更适合提供给运维人员使用。
### 关于编排工具的介绍
VMware Workstation:虚拟化工具,启动虚拟机的 	编排工具:Vcenter Server
KVM:			  虚拟化工具,启动虚拟机的 	   编排工具:OpenStack
Docker:			   容器化工具,容器运行时      编排工具:Docker-swarm、mesos、
Kubernetes

https://www.cnblogs.com/goodcook/p/6433751.html

虚拟化和容器化的对比

image-20240902140528335

image-20240902140542109


容器化产品理念

# Container Runtime:容器运行时
	- docker
	- CRI-O
	- containerd

## 内核技术
Namespace:名称空间,命名空间(资源隔离)https://man7.org/linux/man-pages/man7/namespaces.7.html
Cgroup:资源控制、资源计算 https://man7.org/linux/man-pages/man7/cgroups.7.html
	资源限制:例如设定任务指定内存
	优先级分配:比如跟任务分配的CPU时间,片数,磁盘IO,带宽大小来控制任务的优先级
	资源统计:统计CPU,内存,IO等资源使用时长,该功能比较适合用于计费
	任务控制:cgroup可以对任务进行 运行,挂起,恢复等操作

Docker的三个重要概念

镜像(image)
Docker镜像可以看做是一个特殊的文件系统,除了提供容器运行时所需要的程序、库、资源、配置文件以外,
还包含了一些为运行时,准备的配置参数(匿名卷,环境变量,用户等),镜像是不可更改的

# Docker容器存储方式:overlayFS
	upper
	lower
	merge
容器(Container)
容器的定义和镜像,几乎是一模一样,唯一区别在于容器的最上面那一层是可读可写的。
暂时理解:一个容器,就是一台虚拟机
仓库(Repository)
上传镜像,存放镜像
仓库是Docker用来存放镜像的地方,类似于我们之前常用的代码仓库。
通常一个仓库会包含,同一个软件,不同版本的镜像
我们可以通过<仓库名>:<标签>格式来指定具体使用哪个版本的镜像,如果不给标签,那么默认以Latest作为默认标签
	docker pull nginx
	docker pull nginx:latest
	docker pull centos:8


## Harbor图形化仓库
## Registry命令行仓库

Docker的组成

Docker是C/S结构的服务
docker client 和 docker server
Docker客户端:
	- 命令行 docker
	- 图形化 dashboard
用户 -> Docker客户端 -> 调用Docker API -> Docker Server -> 内核 Namespace 、 Cgroup

image-20240902141041658


部署Docker

# 1.清楚docker
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

#2.更管docker源
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo

sudo sed -i 's+download.docker.com+mirrors.huaweicloud.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

#3. 安装docker
yum install -y docker-ce docker-ce-cli containerd.io

# 4.启动docker
systemctl start docker
systemctl enable docker

/var/lib/docker ## Docker的存储目录(工作目录)
#### 给docker配置源
[root@docker01 ~]# cat /etc/docker/daemon.json 
{
        "registry-mirrors": ["https://docker.1panel.live", "https://hub.rat.dev/", "https://docker.chenby.cn", "https://docker.m.daocloud.io"]
}

标签:容器,ce,https,镜像,docker,Docker
From: https://www.cnblogs.com/kjt611/p/18406524

相关文章

  • Docker
    容器化技术解决了一个关键问题:它将软件程序和运行的基础环境分开。可移植性;占地小;共享bin和libDocker本身不是容器,它是创建容器的工具,是应用容器引擎。Docker镜像是一个特殊的文件系统。它除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些......
  • Docker 容器与数据卷
    上一篇启动registry的时候,用了-v和--privileged参数,本文就讲解这两个参数的含义‍privileged参数在CentOS7中,安全模块会比之前系统版本加强,不安全的行为会先禁止,而目录挂载的情况被默认为不安全的行为,因此我们在启动私服的时候,可能会被禁止,报错cannotopendirectory......
  • docker 容器的常用命令
      docker容器的常用命令 一、基础概念 1、容器 (1)容器狭义的讲就是盛放东西的器皿,比如锅、碗、瓢、盆,再比如数组、字符串等,Java集合框架中列表、集、散列映射等也是容纳数据的容器。 (2)容器广义上讲是包含容器管理器、实际盛放数据的器皿在内的软件,比如docker就是一款......
  • Docker Compose 案例
    version:'3.8'x-app:&appbuild:dockerfile:./Dockerfilerestart:unless-stoppedworking_dir:/appvolumes:-.:/app/oms-odoo#将本地的app目录挂载到容器的/app目录-./log:/var/log#environment:#-REDIS_URL=redis://host.......
  • 本地服务调用容器(docker)注册至nacos&dubbo服务
    1.问题背景开发人员通过本地启动服务注册到nacos,调用通过容器注册到nacos的服务失败; 2.问题解决  step1:指定网络模式为主机模式(network=host)  step2:    增加暴露端口(port=xxx)  step3:    指定dubbo服务注册到注册中心的ip+port(du......
  • docker Get "https://registry-1.docker.io/v2/": x509: certificate is valid for
    前言docker在进行build时,报错:Get"https://registry-1.docker.io/v2/":x509:certificateisvalidfor问题原因:Docker客户端无法验证DockerHub服务器的SSL/TLS证书解决在/etc/docker/daemon.json中新增国内镜像源:"registry-mirrors":["https:/......
  • docker 笔记
    1.把自己的jdk打包成镜像假设我们安装的jdk位置在/usr/local/app/jdk此时我们需要在app目录下建Dockerfile文件,代码如下#基础镜像FROMcentos:7.9.2009#维护者信息MAINTAINERYourName<[email protected]>#设置环境变量ENVJAVA_HOME/app/jdkENVPATH$JAVA_......
  • flask-docker更新(mysql更新为容器)
    前言之前用docker编写了一个flask的简单demo,但是里面的mysql用的本地的,当时是自己偷懒用了本地的,现在空余时间重新处理了mysql容器重新更新一下一、docker-compose.yml示例version:'3'services:flask:build:context:./appcontainer_name:flask......
  • Docker必备命令大全:从安装到多容器管理
    浪浪云活动链接:https://langlangy.cn/?i8afa52文章目录安装Docker在Ubuntu上安装Docker在CentOS上安装DockerDocker常用命令1.检查Docker版本2.管理Docker容器2.1拉取镜像2.2列出本地镜像2.3运行容器2.4列出运行中的容器2.5停止容器2.6启动容器......
  • Linux系统上安装Docker的详细教程
    感谢浪浪云支持发布浪浪云活动链接:https://langlangy.cn/?i8afa52文章目录1.在Ubuntu/Debian系统上安装Docker1.1更新软件包1.2安装依赖包1.3添加DockerGPG密钥1.4添加Docker仓库1.5安装Docker引擎1.6启动并验证Docker2.在CentOS/RHEL系统上安装Docker2.1......