docker是一个基于容器技术开源平台,用于打包,分发,运行应用,容器提供轻量级,快速的虚拟环境
区别
vm是整套的操作系统
docker是共享主机内核,资源消耗更低,启动的非常快
docker启动快
占用资源少
隔离性
可移植性
# Docker Engine:运行容器的引擎;
# Docker Image:容器镜像,包含运行环境和应用;
# Docker Container:容器,镜像运行后的实例;
# Dockerfile:构建镜像的配置文件;
# Docker Hub/Registry:镜像仓库,用于镜像的分发和存储;
# Docker Compose:编排多个容器服务的工具。
镜像是只读的模版,类似与快照
容器是运行镜像的实例,可以读写操作,是一个运行时环境
# from 基础镜像
# run 运行命令
# copy/add 复制文件
# expose 声明端口
# docker images
# docker ps
version: "3"
services:
web:
image: nginx
ports:
- "8080:80"
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: root
每条dockerfile指令都会生成一层,镜像是多层叠加使用的
层可以被缓存复用。减少构建时间
RUN可以将多个命令写在一行上面,减少层数
桥接模式,容器的模式网络模式
主机网络,就是和主机公用网络
自定义网络
使用轻量级别的镜像
减少层数
利用缓存机制
清理中间文件
docker提供容器运行环境
kubernetes是容器编排平台,可以管理多个docker容器部署
k8s可以使用docker作为容器运行时,或者使用containerd
-docker compose是本地开发,小型部署的容器编排工具
参与评论
手机查看
返回顶部