Docker 运维 - 从零开始学习
一、Docker概述
更新时间:2021年5月19日
Docker是一个在Linux里运行的容器虚拟化软件,提供了轻量级的应用隔离方案,并且为我们提供了应用程序快速扩容、缩容的能力
Github开源项目地址:https://github.com/docker
Docker官方网站地址:https://www.docker.com/
二、什么是容器?
Package Software into Standardized Units for Development, Shipment and Deployment
将软件打包成标准化单元,以便开发、装运和部署
容器是一个软件的轻量级独立可执行软件包,包含运行它所需的一切:代码、运行时、系统工具、系统库、设置等。不管环境如何,集装箱化软件都可以运行相同的Linux和Windows应用程序。容器将软件与其周围环境隔离开来,例如开发环境和登台环境之间的差异,并有助于减少在同一基础架构上运行不同软件的团队之间的冲突
三、Docker的特点
轻便小巧,效率至上
① 轻量级
在一台机器上运行的Docker容器共享该机器的操作系统内核; 他们立即开始并使用更少的计算和内存。图像由文件系统层构建并共享公用文件。这最大限度地减少了磁盘使用量,图像下载速度更快
② 标准
Docker容器基于开放标准,可在所有主要Linux发行版,Microsoft Windows以及任何基础架构(包括虚拟机,裸机和云中)上运行
③ 安全
Docker容器将应用程序彼此隔离并从底层基础架构中分离出来。Docker提供了最强大的默认隔离功能,可以将应用程序问题限制在一个容器中,而不是整个机器上
四、Docker与传统虚拟机的区别
特性 | Docker 容器 | 虚拟机 |
---|---|---|
启动速度 | 秒级 | 分钟级 |
计算能力损耗 | 几乎无 | 损耗50%作用 |
性能 | 接近原生 | 弱于 |
系统支持量 | (单机) | 上千个 几十个 |
隔离性 | 资源限制 | 完全隔离 |
五、Docker 核心概念
① 镜像(Image)
Docker镜像是创建容器的基础,类似于快照
② 容器(Container)
容器即服务,每个服务相互隔离
③ 仓库(Repository)
可供随时调用的镜像仓库,分公共仓库和私有仓库
六、Docker 安装部署
#!/bin/bash
#设置Docker存储库
yum install -y yum-utils
#安装国内软件包
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#安装Docker Engine和容器
yum install -y docker-ce docker-ce-cli containerd.io
systemctl start docker && systemctl enable docker
查看版本
docker version
七、容器镜像加速器
类似与YUM源,使用国内源可加快镜像拉取的速度
① 打开阿里云控制台
搜索 容器镜像服务
② 选择镜像加速器
③ 更换容器镜像源
八、Docker 镜像操作
① 镜像搜索 | search
命令格式
docker search 镜像名:[标签] | 镜像ID
举例:docker search nginx
搜索内容默认会按照星级进行排序
举例:只搜索100星以上的目标
docker search -f stars=100 nginx
② 拉取(下载)镜像 | pull
命令格式
docker pull 镜像名:[标签] | 镜像ID
举例:docker pull nginx
如果不加标识则默认会选择官方最新的Nginx镜像进行获取
举例:下载指定版本的MySQL
docker pull mysql:5.7
③ 查看镜像 | images/inspect
命令格式
docker images