Open phymo opened 3 years ago
Docker 基于Go, 开源
docker build
docker pull
docker run
环境准备
- CentOS 7以上 2.Xshell 链接远程服务器
$uname -r 查看环境
$cat /etc/os....
参考 帮助文档:
systemctl start docker
, 查看是否成功docker version
docker run hello-world
: 先查找本地, 没有, 远程拉取, 运行 阿里云镜像加速 容器服务,镜像加速器
开始运行 => Docker 在本机寻找镜像 => 如果有直接运行,否则 => 去docker hub 查找 ,如果没有报错, 如果有 就下载 => 运行
Client-Server 结构系统,Docker守护进程运行在主机上,通过Socket 从客户端访问; Docker Server 接收到Docker Client 命令, 执行命令
Docker 架构
runc 是一个 Linux 命令行工具,用于根据 OCI容器运行时规范 创建和运行容器。 containerd 是一个守护程序,它管理容器生命周期,提供了在一个节点上执行容器和管理镜像的最小功能集。
Docker 包括三个基本概念 镜像(Image) 容器(Container) 仓库(Repository)
大家虽然都共用一个内核和某些运行时环境(例如一些系统命令和系统库),但是彼此却看不到,都以为系统中只有自己的存在。这种机制就是容器(Container),利用命名空间来做权限的隔离控制,利用 cgroups 来做资源分配。
Docker 为什么出现
开发 -> 运维 :
开发即运维!
环境配置:每一个机器都要部署环境 (redis 集群, ES, Haddop。。。) 很多项目不能跨平台 -> 发布项目 带上环境打包
Docker 解决方案
java -> jar(env) -> build with env (image) --> Docker repository --> 下载使用image
隔离: Docker 核心思想 --> 不用担心多项目时,环境 端口等冲突
Docker 历史
2010: dotCloud 公司 -> paas 云计算服务 LXC有关容器技术 -> Docker -> 2013:开源 -> 2014 Docker 1.0 特点: