docker入门学习
docker 名词解释
下面简单解释下名词的含义,后面会详细介绍:
- docker:docker代表这一个技术的名词,下面一个docker代表一台机器上装的一个docker服务
- container:docker容器,相当于一个轻量的沙盒系统(可以暂时理解一个运行好的虚拟机系统)一个容器只运行一个服务
- images:docker镜像,相当于一个安装包(可以暂时理解成一个系统iso镜像)
- service:docker服务,多个相同的容器组成的一个服务,相当于容器的多个复制,提高了扩展性
- swarm:docker集群,将一个docker或多个docker组成的一个资源集合,包含了网络、负载均衡、多个服务节点、服务发现、服务伸缩
- node:docker节点,一台实际机器上的一个docker算一个节点,节点只有在docker初始化为集群才存在该概念
- docker-compose.yml:服务编排脚本,该脚本只支持单机docker服务编排,相当于服务的启动参数,服务数量都在该脚本配置
- stack:docker集群服务编排模式,stack.yml为集群部署模式的配置文件,文件name可以自定义,这个是多节点服务编排部署模式,在单机的基础上面多支持了容器在那个节点运行,及运行个数等
- DockerFile:docker镜像编排脚本
- Docker-hub:官方docker仓库
- registry:可搭建的私有镜像仓库
- 集群-无状态服务vs有状态服务(共享存储/NAS)
- 分布式集群
docker swarm服务关系
docker编排部署流程
docker简介
容器是打包代码及其所有依赖项的软件的标准单元,因此应用程序可以从一个计算环境快速可靠地运行到另一个计算环境。Docker容器映像是一个轻量级的,独立的,可执行的软件软件包,其中包含运行应用程序所需的一切:代码,运行时,系统工具,系统库和设置。
优势:
- 标准: Docker创建了容器的行业标准,因此它们可以在任何地方移植
- 轻巧:容器共享计算机的OS系统内核,因此不需要每个应用程序都具有OS,从而提高了服务器效率,并降低了服务器和许可成本
- 安全:容器中的应用程序更安全,Docker提供业界最强大的默认隔离功能
虚机vs容器
容器虚化的是操作系统而不是硬件,容器更加便携和高效
docker安装部署
centos安装
1 | sudo yum install -y yum-utils |
docker swarm 初始化
DockerFile镜像编排
1 | # 镜像编排命令 |
dockerfile常见命令说明
1 | #基础镜像选择alpine 小巧安全流行方便 |
Docker-hub 和 registry
docker-compose
docker swarm VS k8s(Kubernetes)
平台安装部署流程
springboot和docker 环境变量
springboot 支持系统环境变量
docker 支持容器环境变量设置
设计原理,不改变基础镜像的情况下,适应不同的环境
1 | 优先级由高到低 |