Docker
1、初识
docker解决的问题
docker如何解决依赖的兼容问题?
- 将应用的Libs(函数库)Deps(依赖)配置与应用一起打包
- 将每个应用放到一个隔离容器去运行,避免相互干扰
开发测试及操作系统环境差异如何解决?
Ubuntu和Centos都是基于Linux内核,只是系统应用不同、提供的函数库有差异,这就是不能跨系统的原因;
- docker将用户程序和所需要的系统函数库一起打包
- docker运行到不同操作系统时,直接基于打包的库函数,借助操作系统的Linux内核来运行
总结
- docker允许开发中将应用、函数库、配置一起打包形成可移植镜像,可以迁移到任意Linux系统
- 利用沙箱机制形成隔离容器,各个应用互不干扰
- 启动、移除十分方便
docker和虚拟机
区别在哪?
- 虚拟机模拟了整个操作系统,docker只封装了部分环境
- docker是一个进程,虚拟机是操作系统中模拟出的操作系统,所以docker速度更快
镜像和容器
镜像
镜像就是docker将应用程序及函数库、依赖、环境等配置打包在一起,称为镜像
容器
镜像中的程序运行起来就是容器,docker将其隔离,对外不可见
docker和dockerHub
dockerHub是一个托管平台,类似的阿里云
安装docker
安装yum工具
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 --skip-broken
设置阿里镜像源
# 设置docker镜像源
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache fast
安装docker社区版
yum install -y docker-ce
启动docker
systemctl start docker # 启动docker服务
systemctl stop docker # 停止docker服务
systemctl restart docker # 重启docker服务
查看版本