单体应用拆分成微服务后,能够实现快速开发迭代,但因为小服务太多,导致测试和部署的成本提高。
成都创新互联是创新、创意、研发型一体的综合型网站建设公司,自成立以来公司不断探索创新,始终坚持为客户提供满意周到的服务,在本地打下了良好的口碑,在过去的10余年时间我们累计服务了上千家以及全国政企客户,如护栏打桩机等企业单位,完善的项目管理流程,严格把控项目进度与质量监控加上过硬的技术实力获得客户的一致称誉。
单体应用中,将Spring Boot工程打包成一个war包,然后部署在Linux服务器的Tomcat中就可以了。
拆分成微服务后,修改一个需求,可能会涉及多个微服务,这个时候,被修改过的代码都需要重新测试、打包、部署、上线发布。无形之中,给现场运维人员增加了成倍的工作压力。
微服务通常会在共有云上创建ECS进行扩容,ECS通常只包含了基本的操作系统环境,没有包含运行java的环境jdk,就需要在ECS上安装jdk,而且每个服务依赖的jdk版本可能也不会相同,一般情况下,都会采用jdk8,但有些喜爱前言技术的项目经理,可能要试一下jdk21,毕竟也是一个长期稳定的大版本。
而容器技术可以解决上面的两个问题(代码部署难、缺环境)。
时下容器技术最火的当属Docker,很多小伙伴也用了多年,只知道它是容器技术,可以将程序和依赖打到Docker里,然后发布在Linux服务器中,就完成了程序的部署,一次构建、到处运行,很牛逼,至于其它的,就不知道了,也不想知道~
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker属于Linux容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的Linux容器解决方案。
Docker Client是Docker的客户端工具,也被称为Docker命令行界面(CLI)。它是用户与Docker平台进行交互的主要方式。
Docker Client 的主要作用如下:
Docker Client是用户与Docker平台进行交互的重要工具。它提供了命令行界面,让用户能够方便地管理Docker容器和镜像,并进行资源配置和网络通信等操作。
Docker Daemon是Docker的守护进程,它是Docker平台的后台服务组件,充当服务器角色。
Docker Daemon 的主要作用如下:
Docker Daemon是Docker平台的核心组件,提供容器、镜像、网络和数据卷的管理功能。它扮演着守护进程的角色,确保Docker平台的正常运行和管理。
在Docker镜像中,Distribution、Layer、Image、Registry和Reference各自扮演了重要角色。
Docker Driver是Docker的驱动模块,主要负责驱动Docker容器的运行。它通过与操作系统的交互,实现对Docker容器的创建、启动、运行和管理等操作。
Docker Driver 的主要作用如下:
Docker Driver是Docker中非常重要的组件,它通过与操作系统的交互,实现了Docker容器的创建、运行和管理等功能,为Docker平台的正常运行提供了底层支持。
Docker Graph是Docker中的一种数据结构,用于记录和跟踪Docker镜像和容器之间的关系。
Docker Graph 的主要作用如下:
Docker Graph在Docker的较新版本中可能已经被替代或集成到其他组件中,因此具体实现和用法可能会因版本而异。
Docker Libcontainer函数库中包含:
这些组件和技术在Libcontainer中协作,共同实现了Docker容器的隔离、资源管理、网络通信和权限控制等功能,为Docker平台的稳定性和安全性提供了重要支持。
Docker Container是Docker中的容器实例,它是通过Driver和Libcontainer共同协作创建出来的。Driver提供了容器的运行环境定制,而Libcontainer则负责容器的具体创建和管理操作。Docker Container是Docker架构中服务交付的最终体现形式。实现“一次构建,到处运行”的目标,大大提高了应用程序的部署效率和可移植性。
Docker Container 的主要作用如下:
Docker Container是Docker技术的核心组件之一,它提供了轻量级、隔离的运行环境,用于部署、运行和管理应用程序。它的出现改变了传统应用部署和运维的方式,提高了开发、测试、运维的效率和质量。
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
yum install -y yum-utils
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
用国内的。
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新软件包索引。
yum mackecache fast
ce社区版,ee企业版,推荐安装企业版。
yum install docker-ce docker-ce-cli containerd.io。
systemctl start docker
docker run hello-world
yum remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
这就是Docker为何比虚拟化更快的原因,Docker有着比虚拟机更少的抽象层,docker利用的是宿主机的内核,VM需要的是Guest OS。
docker version
docker info
docker 命令 --help #万能命令
docker images。
解释:
可选项
docker search。
可选项
--filter-STATUS-3000 #搜索大于3000的。
指定版本下载。
docker pull 镜像名[:tag]。
docker rmi -f 镜像id。
docker pull centos。
参数说明:
docker ps [参数]。
例如:docker ps -aq,显示当前正在运行的容器的编号。
docker cp 容器id:容器内路径 主机路径。
例如:docker cp 容器id:/home/test.java /home。
后台启动容器 -d。
查看日志命令。
docker logs --help。
显示指定行数的日志:
docker logs -tf --tail 10 容器id。
-f:内容,,,-t:时间。
例如:循环执行。
docker run -d centos /bin/sh -c "while;do echo hello world;sleep 1;done"。
显示容器中的进行信息。
查看docker内部的进程信息:docker top 容器id。
查看容器的元数据。
docker inspect --help。
显示容器的所有信息:
docker inspect 容器id。
常用命令 |
命令含义 |
attach |
当前shell下attach连接指定运行镜像 |
build |
通过Dockerfile定制镜像 |
commit |
提交当前容器为新的镜像 |
cp |
从容器中拷贝指定文件或者目录到宿主机中 |
create |
创建一个新的容器,同run 但不启动容器 |
diff |
查看docker容器变化 |
events |
从docker服务获取容器实时事件 |
exec |
在已存在的容器上运行命令 |
export |
导出容器的内容流作为一个tar归档文件(对应import) |
history |
展示一个镜像形成历史 |
images |
列出系统当前镜像 |
import |
从tar包中的内容创建一个新的文件系统映像(对应export) |
info |
显示系统相关信息 |
inspect |
查看容器详细信息 |
kill |
强制停止指定docker容器 |
load |
从一个tar包中加载一个镜像(对应save) |
login |
注册或者登陆一个docker源服务器 |
logout |
从当前Docker registry退出 |
logs |
输出当前容器日志信息 |
pause |
暂停容器 |
port |
查看映射端口对应的容器内部源端口 |
ps |
列出容器列表 |
pull |
从docker镜像源服务器拉取指定镜像或者库镜像 |
push |
推送指定镜像或者库镜像至docker源服务器 |
rename |
重命名容器 |
restart |
重启运行的容器 |
rm |
移除一个或者多个容器 |
rmi |
移除一个或多个镜像(无容器使用该镜像才可以删除,否则需要删除相关容器才可以继续或者-f强制删除) |
run |
创建一个新的容器并运行一个命令 |
save |
保存一个镜像为一个tar包(对应load) |
search |
在docker hub中搜索镜像 |
start |
启动容器 |
stats |
统计容器使用资源 |
stop |
停止容器 |
tag |
给镜像打标签 |
top |
查看容器中运行的进程信息 |
unpause |
取消暂停容器 |
version |
查看容器版本号 |
wait |
截取容器停止时的退出状态值 |
标题名称:用了这么多年Docker,殊不知你还有这么多弯弯绕!
本文URL:http://www.shufengxianlan.com/qtweb/news21/85071.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联