(一)Docker概述与部署

1、Docker概述

实验环境: CENTOS 7

a、概述:

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全可以使用沙盒机制,相互之间不会有任何接口(类似iphone 的app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包装系统

扩展1:沙盒

沙盒也叫沙箱,英文sandbox。在计算机领域指一种虚拟技术,且多用于计算机安全技术。安全技术可以先让它在沙盒中运行,如果含有蓄意行为,则尽职程序的进一步运行,而这不会对系统造成任何伤害。

docker是dot Cloud公司开源的一个基于LXC的高级容器引擎,源代码托管在Github上,基于go语言并遵从Apache2.0协议开源。

Docker让开发者可以打包他们的应用以及依赖包到一个可移植的container中,然后发布到任何流行的Linux机器上。

docker相比于其他的软件安装,镜像一次构建,到处可以运行。

扩展2 :LXC为Linux Container的间歇。

Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。

LXC主要通过来自Kernel的namespace实现每个用户实例之间的相互隔离,通过Cgroup实现对资源的配额和度量。

docker官网方文档:Docker Documentation | Docker Documentation

 

b、doker与虚拟机的区别

  • 不同点:

  • 相同点:docker容器技术和虚拟技术,都是虚拟化技术。

总结:docker相对于VM虚拟机,少了虚拟机操作系统这一层,所以docker效率比虚拟机高。

 

c、docker的架构:

工作流程:

  1. 服务器上运行docker engine服务
  2. 在docker engine上启动很多容器container
  3. 从外网docker hub上把image操作系统的镜像下载来,放到contaner容器运行。

这样,一个容器的实例就运行起来了。最后,通过docker client 对docker容器虚拟化平台进行控制。

 

d、什么是dockerhub?

dockerhub是docker官方的镜像存储站点,其中提供了很多常用的镜像供用户下载,如ubuntu,centos等系统镜像。通过dockerhub用户也可以发布自己的docker镜像,为此用户需要注册一个账号,在网站上创建一个docker仓库。

 

e、Docker核心技术

  1. Namespace  ———实现Container的进程、网络、消息、文件系统和主机名的隔离。
  2. Cgroup ——实现对资源的配额和度量

注:Cgroup的配额,可以指定实例使用的CPU个数,内存大小等。

 

f、Docker的特性:

  • 文件系统隔离:每个进程容器运行在一个完全独立的根文件系统里
  • 资源隔离:系统资源,像CPU和内存等可以分配到不同的容器中,使用cgroup
  • 网络隔离:每个进程容器运行在自己的网络空间,虚拟接口和IP地址
  • 日志记录:Docker将会收集和记录每个进程容器的标准流(stdout/stderr/stdin)。用于实时检索或批量检索。
  • 变更管理:容器文件系统的变更可以提交到新的镜像中,并可重复使用以创建更多的容器。无需使用模板或手动配置。
  • 交互式shell:docker可以分配一个虚拟终端并关联到任何容器的标准输入上,例如运行一个一次性交互shell

g、Docker的优缺点:

优点:

  1. 一些优势和VM一样,但不是所有都一样。比VM小,比VM快,Docker容器的尺寸减小相比整个虚拟机大大简化了分不到云和从云分发时间和开销。docker启动一个容器实例时间很短,一两秒就可以启动一个实例
  2. 对于在笔记本电脑,数据中心的虚拟机,以及任何的云上,运行相同的没有变化的应用程序,IT的发布速度更快。Docker是一个开发的平台,构建、发布和运行分布式程序。Docker使应用能够快速从组件组装和避免开发和生产环境之间的摩擦。
  3. 可以在部署公司局域网或云或虚拟机使用
  4. 开发人员并不关心具体哪个Linux操作系统。使用Docker,开发人员可以根据所有依赖关系构建相应的软件,并针对他们所选择的操作系统。然后,在部署时一切是完全一样的,因为一切都在DockerImage的容器上运行。开发人员负责并且能够确保所有的相关性得到满足。
  5. Google、微软、亚马逊、IBM等都支持Docker
  6. Docker支持Unix/Linux操作系统,也支持windows或Mac。

缺点:

  1. Docker应用于应用程序时最有用的,但并不包含数据。日志,跟踪或数据库等通常应放在Docker容器外。一个容器的镜像通常都很小,不适合存大量数据,存储可以通过外部挂载的方式使用。比如使用:NFS、IPSAN、MFS等,-v 映射磁盘分区。

 

Docker版本简单介绍:

  • yum install docker(旧的版本)
  • yum install docker-engine(旧的版本)
  • yum install docker-ce(新的版本)

h、部分概念

  • 镜像(image):docker镜像好比一个模板,可以通过模板来创建容器服务,tomcat镜像->run->tomcat01容器(提供服务器)通过这个镜像可以创建多个容器。
  • 容器(containers):Docker利用容器技术,独立运行一个或者一个组应用,通过镜像来创建的,启动、停止、删除、基本命令。
  • 仓库(respository):仓库就是存放镜像的地方,仓库分为公有仓库和私有仓库,DockerHub默认是国外的,阿里云:都有容器服务器(配置镜像加速)

2、部署docker容器虚拟化平台并配置docker镜像加速地址

实验环境准备:

实战1:部署docker容器虚拟化平台

实验环境:CENTOS 7 64位

方法1:安装docker的依赖与环境

yum install -y yum-utils device-mapper-persistent-data lvm2

配置国内的docker的yum源(阿里云)

yum-config-manager  --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装docker-ce

yum install docker-ce docker-ce-cli containerd.io -y

启动docker

systemctl start docker

一般情况下,设置为开机启动:

systemctl enable docker

可以查看docker的版本号:

docker version

查看整个平台的信息(可以查看有几个实例、几个镜像):

docker info  

查看完之后,你可以看到CPU和内存的情况,同时,你可以通过命令:ifconfig,来查看本地的docker0的网络接口,一般都是172.17.0.1 

如何修改默认下载的镜像路径?

命令:搜索centos 

docker search centos

NAME: docker镜像的名字

DESCRIPTION: 描述

STARS: 受欢迎程度

OFFICIAL: 是否官方提供

 

找到你想要的镜像,可以通过命令拉下来:

docker pull centos

方法2:使用阿里云docker镜像加速器,提升pull的速度。

你只需要登录容器Hub服务:https://cr.console.aliyun.com 的控制台,使用你的支付宝账号,第一次登录时,需要设置一个独立的密码,左侧的加速器帮助页面就会显示你独立分配的加速地址。例如:https://e9yneuy4.mirror.aliyuns.com。

然后按照以下来进行配置:

方法3:修改docker服务启动脚本

vim /usr/lib/systemd/system/docker.service
修改
14 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd.sock
为
14 ExecStart=/usr/bin/dockerd -H fd:// --registry-mirror=https://rncxm540.mirror.aliyuncs.com --containerd=/run/containerd.sock

方法4:直接把下载的镜像,导入进去。

docker pull hub.c.163.com/library/tomcat:latest

开启网络转发功能(下图显示结果为1,否则docker启动实例时,会报错Networking will not work)

如果你需要配置的话:

vim /etc/sysctl.conf
添加一行代码
net.ipv4.ip_forward = 1
sysctl -p

关闭防火墙(都是Accept)

systemctl stop firewalld && systemctl disable firewalld

然后重启:systemctl restart docker

# 关闭了防火墙,要把docker服务重启一下,不然后docker的ip包转发功能无法使用。即使防火墙关了,docker会调用内核模块netfilter增加规则,所以有防火墙规则

 

本文章是学习于docker视频,意在帮助大家更好的学习,如有问题,欢迎大家留言!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于stl_pg版本实现自己的stl库C++源码.zip基于stl_pg版本实现自己的stl库C++源码.zip基于stl_pg版本实现自己的stl库C++源码.zip基于stl_pg版本实现自己的stl库C++源码.zip基于stl_pg版本实现自己的stl库C++源码.zip基于stl_pg版本实现自己的stl库C++源码.zip基于stl_pg版本实现自己的stl库C++源码.zip基于stl_pg版本实现自己的stl库C++源码.zip基于stl_pg版本实现自己的stl库C++源码.zip基于stl_pg版本实现自己的stl库C++源码.zip基于stl_pg版本实现自己的stl库C++源码.zip
部署一个Docker管理平台,你可以按照以下步骤进行操作: 1. 选择一个适合的Docker管理平台:有很多Docker管理平台可供选择,例如Portainer、Rancher、Kubernetes等。你可以根据你的需求和技术栈选择一个适合的平台。 2. 准备服务器环境:你需要准备一台或多台服务器来托管Docker管理平台。确保服务器满足所选平台的硬件和软件要求,例如操作系统版本、内存和处理器等。 3. 安装Docker:在服务器上安装Docker运行时。根据操作系统的不同,可以使用适当的包管理器或脚本来安装Docker。 4. 配置网络和防火墙:确保服务器上的网络和防火墙设置允许与Docker管理平台的通信。根据所选平台和网络环境,可能需要打开特定的端口或配置其他网络设置。 5. 下载和部署Docker管理平台:根据所选平台的文档,下载并部署相应的Docker镜像或二进制文件。这通常涉及使用Docker命令来拉取和运行容器。 6. 配置和管理平台:根据所选平台的文档,进行必要的配置和管理操作。这可能包括设置管理员账户、配置用户权限、连接到Docker主机等。 7. 可选:配置高可用性和扩展性:如果需要高可用性和扩展性,可以根据所选平台的文档,配置集群环境和负载均衡器。 请注意,这只是一个基本的概述,具体的步骤和操作可能因所选平台和环境而有所不同。建议在部署过程中参考所选平台的官方文档和指南,以确保正确和顺利地完成部署

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值