Docker
docker如何解决依赖的兼容问题?
将应用的函数库和依赖、配置与应用一起打包
将每个应用放到一个隔离容器去运行,避免相互干扰(沙箱机制)
docker如何解决不同系统环境的问题?
将用户程序与所需要调用的系统(不如Ubuntu、Centos)函数库一起打包
运行到不同操作系统时,直接基于打包的库函数,借助于操作系统的Linux内核来运行
镜像:
Docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起,称为镜像
容器:
镜像中的应用程序运行后形成的进程就是容器,只是Docker会给容器做隔离,对外不可见
DockerHub:
Docker镜像的托管平台。这样的平台成为Docker Registry 如阿里云、网易云
Docker架构:
Docker时一个CS架构的程序,由两部分组成:
服务端:Docker守护进程,负责处理Docker指令,管理镜像、容器等
客户端:通过命令或RestAPI向Docker服务端发送指令。可以在本低或远程向服务端发送指令
镜像结构
基础镜像:应用依赖的系统函数库、环境、配置
入口:镜像运行入口,一般是程序启动的脚本和参数
层:在基础镜像的基础上添加安装包、依赖、配置等,每次操作都形成新的一层
DockerCompose
可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器
Compose文件是一个文本文件,通过指定定义集群中的每个容器如何运行