DOCKER:2022

#博学谷IT学习技术支持#

个人笔记后续会进行内容改进


什么是Docker

微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。

- 分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。

- 在数百上千台服务中重复部署,环境不一定一致,会遇到各种问题



Docker为了解决依赖的兼容问题的,采用了两个手段:

- 将应用的Libs(函数库)、Deps(依赖)、配置与应用一起打包

- 将每个应用放到一个隔离**容器**去运行,避免互相干扰


Docker和虚拟机的区别:

Docker可以让一个应用在任何操作系统中非常方便的运行。而以前我们接触的虚拟机,也能在一个操作系统中,运行另外一个操作系统,保护系统中的任何应用。

虚拟机**(virtual machine)是在操作系统中**模拟**硬件设备,然后运行另一个操作系统,比如在 Windows 系统里面运行 Ubuntu 系统,这样就可以运行任意的Ubuntu应用了。

Docker仅仅是封装函数库,并没有模拟完整的操作系统。

总结:

- docker是一个系统进程;虚拟机是在操作系统中的操作系统

- docker体积小、启动速度快、性能好;虚拟机体积大、启动速度慢、性能一般


Docker中有几个重要的概念:


镜像(Image):Docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起,称为镜像。

容器(Container):镜像中的应用程序运行后形成的进程就是容器,只是Docker会给容器进程做隔离,对外不可见。

一切应用最终都是代码组成,都是硬盘中的一个个的字节形成的文件。只有运行时,才会加载到内存,形成进程。

而镜像,就是把一个应用在硬盘上的文件、及其运行环境、部分系统函数库文件一起打包形成的文件包。这个文件包是只读的。

容器呢,就是将这些文件中编写的程序、函数加载到内存中允许,形成进程,只不过要隔离起来。因此一个镜像可以启动多次,形成多个容器进程。


Docker结构:

- 服务端:接收命令或远程请求,操作镜像或容器

- 客户端:发送命令或者请求到Docker服务端


DockerHub:

- 一个镜像托管的服务器,类似的还有阿里云镜像服务,统称为DockerRegistry



镜像操作:

-镜名称一般分两部分组成:[repository]:[tag]。

-在没有指定tag时,默认是latest,代表最新版本的镜像

docker pull nginx 根据查看到的镜像名称,拉取自己需要的镜像

docker images 查看拉取到的镜像

docker save -o [保存的目标文件名称] [镜像名称]例子:docker save -o nginx.tar nginx:latest

docker rmi nginx:latest删除镜像

docker load -i nginx.tar加载回来镜像


容器操作:

- docker run:创建并运行一个容器,处于运行状态

- docker pause:让一个运行的容器暂停

- docker unpause:让一个容器从暂停状态恢复运行

- docker stop:停止一个运行的容器

- docker start:让一个停止的容器再次运行

- docker rm:删除一个容器

docker logs-f  持续查看某个容器的日志

docker ps-a 查询容器状态

案例:

docker run --name containerName -p 80:80 -d nginx

解读:

- docker run:创建并运行一个容器

- --name :给容器起一个名字,比如叫做mn

- -p:将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口

- -d:后台运行容器

- nginx:镜像名称,例如nginx


这里的`-p`参数,是将容器端口映射到宿主机端口。

默认情况下,容器是隔离环境,我们直接访问宿主机的80端口,肯定访问不到容器中的nginx。

现在,将容器的80与宿主机的80关联起来,当我们访问宿主机的80端口时,就会被映射到容器的80,这样就能访问到nginx了:



数据卷(volume)操作:

docker volume [COMMAND]

docker volume命令是数据卷操作,根据命令后跟随的command来确定下一步的操作:

- create 创建一个volume

- inspect 显示一个或多个volume的信息

- ls 列出所有的volume

- prune 删除未使用的volume

- rm 删除一个或多个指定的volume

自定义镜像

Docker微服务集群

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容