简介
概念:
用于构建,运行,传送应用程序的平台,将应用程序和它运行时,所需要的各种依赖包,第三方软件库和配置文件打包在一起,以便在任何环境都可以正确运行
docker和虚拟机的区别:
虚拟机:可以将一台服务器虚拟为多台服务器,每个虚拟化服务器都有自己的操作系统
docker:是容器的一种实现,是一个容器化的解决方案和平台,使用宿主机的操作系统,启动速度快,需要的资源更少,所以可以在一台物理服务器上,运行更多的容器
基本原理和概念
概念:(镜像,容器,仓库)
体系结构:
镜像:只读的模板,可以用来创建容器
容器:docker的运行实例,提供一个独立的可移植的环境,可以在这个环境中运行应用程序
仓库:用来存储docker镜像的地方;DockerHub(集中管理和存储镜像,实现镜像的共享和复用)
安装和配置
官网:docker.com
- 安装完需要启动(右上角能看到docker的小图标)
-
window系统需要先开启HyperV
- 启动后可以在终端输入各种命令
容器化和Dockerfile
容器化:将应用程序打包成镜像,然后再容器中运行应用程序的过程
步骤:
-
创建一个Dockerfile
-
使用Dockerfile构建镜像
-
使用镜像创建和运行容器
实践环节
编写dockerfile,创建镜像,启动容器
举例:
如果我们需要再另一个环境中运行这个某个程序,需要执行的步骤包括:
-
安装操作系统
-
安装运行环境
-
复制应用程序,依赖包,配置文件
-
执行启动命令运行程序
在dockerfile中先指定基础镜像,镜像是按层次结构来构建的,每一层都是基于上一层的
DockerDesktop
封装了常用功能
Docker Compose
-
用于定义和运行多容器Docker应用程序的工具
-
使用yaml文件来配置应用程序的而服务
-
一条命令可创建并启动所有服务
举例:
比如前端,后端,数据库,缓存,nginx等分别在不同服务器上,服务之间的关联关系就是Docker Compose要解决的问题,通过docker-compose.yaml的配置文件;将互相关联容器组合在一起,使用一条命令就可以启动,停止或重建这些服务。
执行$ docker compose up 后就可以自动安装各种依赖和配置运行环境