本文记录学习Docker的一些历程,主要是一些术语和命令
1.为什么引入Docker?
程序运行在操作系统的用户空间,而不同的操作系统安装了不同的依赖库和配置,操作系统、依赖库、配置共同组成了环境,环境不同,程序就可能运行不了。
而将程序和环境一起打包,就可以避免上述问题,Docker就是这样一款软件,可以将程序和环境一起打包,而程序由于只运行在操作系统的用户空间,所以打包时只需打包用户空间部分。这就组成了镜像
镜像和容器的关系类似面向对象中类和对象的关系
dockerfile:就像一份TODOlist,列出了要做哪些事情。一个文本文件,包含构建镜像的指令(如安装软件、复制文件等)。
镜像仓库:存储镜像的服务器,如 Docker Hub(官方仓库)或私有仓库(如 Harbor)。
容器:镜像的运行实例,是一个轻量级的隔离进程环境。 容器可以启动、停止、删除,且每个容器相互隔离。
Docker compose:用于定义和运行多容器(包括执行顺序等)应用的工具,通过 docker-compose.yml
文件配置服务、网络和卷。