文章内容输出来源:拉勾教育大前端高薪训练营
Docker简介
- Docker 是一个集打包、运行、测试、发布于一体的开放式平台
- 我们可以把开发过程中的基础设施分离出来部署到 Docker
- DevOps:开发、构建、自动化部署、测试、文档
- GitLib、Jenkins
- Nginx、Apache
- MySQL、MongoDb
- 文档管理工具
- 使用 Docker 可以避免复杂的应用环境配置,并以秒级的速度开启
- 支持绝大多数平台,容器的性能开销极低
Docker 应用场景
- Web 应用的自动化打包和发布
- 自动化测试和持续集成、发布
- 在服务型环境中部署和调整数据库或其他的后台应用
Docker 核心概念
- Docker Daemon 守护进程
- Docker Daemon 是 Docker 的守护进程
- Docker Client 通过命令行与 Docker Daemon 通信完成 Docker 相关操作
- Docker Client 客户端
- 通过终端和用户交互
- 终端中输入指令,Docker 客户端把指令传递给 Docker Daemon
- Docker Image 镜像
- 可以认为是一个最小版本的 Linux 系统的镜像,包含了所需的文件系统和一些配置好的应用
- 需要通过容器来加载镜像
- 是静态的,可以和面向对象中类对比
- Docker Container 容器
- 通过镜像创建一个容器
- 可以创建多个容器,每一个容器都会开启一个进程,多个容器之间是相互隔离的
- 是动态的,可以和面向对象的实例对比
Docker 体系结构
- Docker 使用客户端-服务器 (C/S) 架构模式,使用远程 API 来管理和创建 Docker 容器
Docker 和虚拟机的区别
- 虚拟机是硬件级虚拟化,每一个虚拟机内部都要分割系统资源,需要虚拟出虚拟硬件
- Docker 是系统级虚拟化,容器共享系统资源,不会虚拟出硬件
安装Docker
文档
- 官方文档
- 国内菜鸟教程
- 删除旧版本的 Docker
yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine
安装所需的软件包
- yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
sudo yum install -y yum-utils
device-mapper-persistent-data
lvm2
添加可以获取到 Docker 的源
# 国内使用官方源较慢不稳定
dnf confi