由于不同的服务器使用的操作系统不同,环境也自然不同,举个例子,如果想安装个vim编辑器,在Ubuntu中需要使用apt-get install vim,而在centos里则需要使用yum install vim;如果想把项目部署到不同的系统(环境)中,则会涉及不同的依赖、配置、应用,每部署一套就得单独写一套部署脚本,非常影响效率,于是就有一种优化方案:增加一个中间层,而这个中间层就是docker容器
我们经常可以听到身边的程序员说这样一句话:这个功能在我这个环境是好的,为什么到了你测试环境就不行了呢?操作系统上安装了不同的依赖库和配置,操作系统+依赖+配置统称为环境,环境不同程序就可能跑不起来;如果将程序和环境一起打包给对方,问题就可以得到解决。docker就是可以将环境+程序一起打包的软件。
基础镜像是什么?
以Ubuntu为例,操作系统分为用户空间和内核空间两部分,而应用程序是运行在用户空间的,将用户空间+操作系统的文件系统+程序+依赖库共同打包成一个类似压缩包文件,这就形成了基础镜像base image
docker file是什么?
光有基础镜像还不够,通常还需要安装一些一些依赖,如yum install gcc,或者创建一些文件或目录如mkdir log_dir,最后才是运行目标应用程序,linux中所有的工作都可以通过命令行完成,我们可以将要做的事情全列出来并打上注释,如指定基础镜像→复制所有文件到/app目录下→安装依赖→容器启动时执行的命令等一份配置文件(清单文件),称为docker file
容器镜像是什么?
docker file只是描述了要做哪些事情并没有开始做,当我们使用docker build命令的时候,docker软件就会按docker file构建环境和应用程序,最终打包成一个类似压缩包的程序,称为容器镜像,即container image,只要将其传到任何一个服务器上进修“解压缩”我们就能同时得到环境和程序
❤关注我,不迷路❤
******我的本文相关专栏******
******我的其它作品专栏******