Docker 学习

2020/06/16 Docker 共 1449 字,约 5 分钟
山川尽美

Docker 介绍

什么是 Docker

Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 OverlayFS 类的 Union FS 等技术,对进程进行封装隔离,属于 操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。最初实现是基于 LXC,从 0.7 版本以后开始去除 LXC,转而使用自行开发的 libcontainer,从 1.11 开始,则进一步演进为使用 runC 和 containerd。

Docker 架构:

runc 是一个 Linux 命令行工具,用于根据 OCI容器运行时规范 创建和运行容器。

containerd 是一个守护程序,它管理容器生命周期,提供了在一个节点上执行容器和管理镜像的最小功能集。

Docker 和传统虚拟化方式的比较:

传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;

容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟,比传统虚拟机更为轻便。

为什么要用 Docker

1:更高效的利用系统资源

2:更快速的启动时间

3:一致的运行环境

4:持续交付和部署

5:更轻松的迁移

6:更轻松的维护和扩展

对比传统虚拟机总结

特性启动硬盘使用性能系统支持量
容器秒级一般为 MB接近原生单机支持上千个容器
虚拟机分钟级一般为 GB若于一般几十个

参考:

Docker 简介

Docker 安装

Docker 命令

基础命令

命令命令描述
info显示 Docker 详细的系统信息
version显示 docker 客户端和服务端版本信息
inspect查看容器或镜像的配置信息, 默认为 json 数据
events实时打印服务端执行的事件

镜像命令

命令命令描述
images查看本地镜像(列出本地所有镜像)
inspect查看镜像详情
search查找镜像
tag修改镜像 tag
history显示镜像每层的变更内容
rmi删除本地镜像
pull获取镜像
push推送镜像到仓库
login登录第三方仓库
logout退出第三方仓库
save打包本地镜像, 使用压缩包来完成迁移
load导入镜像压缩包
commit将容器保存为镜像
build使用 Dockerfile 构建镜像
import导入本地容器快照文件为镜像

容器命令

命令命令描述
create根据镜像生成一个新的容器
start启动一个新的容器
run创建、启动容器并执行相应的命令
rename重命名容器名
ps查看运行中的容器
top显示容器的运行进程
stop关闭容器
kill强制关闭容器
restart重启容器
pause暂停容器
unpause恢复暂停的容器
exec在已运行的容器中执行命令
attach进入运行中的容器, 显示该容器的控制台界面。
logs打印容器的控制台输出内容
port容器端口映射列表
rm删除已停止的容器
diff展示容器相对于构建它的镜像内容所做的改变
export导出容器到本地快照文件
cp在容器和宿主机之间复制文件
wait阻塞当前命令直到对应的容器被关闭, 容器关闭后打印结束代码

资源命令

命令命令描述
stats显示容器硬件资源使用情况
update更新容器的硬件资源限制
system管理系统资源

参考:

官方命令 Docker 常用指令详解

Docker 镜像

网络

存储

7.Docker Compose

Docker Compose 的文档:

https://docs.docker.com/compose/overview/

相关文档资料

文档信息

Search

    Table of Contents