前言
Docker 是一个开源的应用容器引擎,基于 Go 语言开发。Docker 可以让开发者打包他们的应用以及依赖包到一个轻 量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互 之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
Docker应用场景:
- Web 应用的自动化打包和发布
- 自动化测试和持续集成、发布
- 在服务型环境中部署和调整数据库或其他的后台应用
使用Docker可以实现开发人员的开发环境、测试人员的测试环境、运维人员的生产环境的一致性。
Docker借鉴了标准集装箱的概念。标准集装箱将货物运往世界各地,Docker将这个模型运用到自己的设计 中,唯一不同的是:集装箱运输货物,而Docker运输软件。
一、Docker容器与传统虚拟机比较
1、传统虚拟机
传统虚拟机技术基于安装在主操作系统上的虚拟机管理系统(如:VirtualBox和VMWare等),创建虚拟机(虚拟出 各种硬件),在虚拟机上安装从操作系统,在从操作系统中安装部署各种应用。
2、Docker
Docker容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统虚拟机则是在硬件层面实现虚 拟化。与传统的虚拟机相比,Docker优势体现为启动速度快、占用体积小。
3、Docker组成部分
二、Docker安装与启动
1、Docker安装
Docker可以运行在MAC、Windows、CentOS、DEBIAN、UBUNTU等操作系统上,提供社区版和企业版,本课程基 于CentOS安装Docker。CentOS6对docker支持的不好,使用docker建议使用CentOS7。
以下是在CentOS7中安装Docker的步骤:
# 1、yum 包更新到最新
sudo yum update
# 2、作用:安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依
赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 3、 设置yum源
# 3.1、方案一:使用ustc的(推荐)
sudo yum-config-manager --add-repo http://mirrors.ustc.edu.cn/dockerce/linux/centos/docker-ce.repo
# 3.2、方案二:使用阿里云(可能失败)
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/dockerce/linux/centos/docker-ce.repo
# 4、 安装docker;出现输入的界面都按 y
sudo yum install -y docker-ce
# 5、 查看docker版本
docker -v
2、设置ustc镜像
ustc是老牌的linux镜像服务提供者了,还在遥远的ubuntu 5.04版本的时候就在用。ustc的docker镜像加速器速度很 快。ustc docker mirror的优势之一就是不需要注册,是真正的公共服务。
1、 编辑文件/etc/docker/daemon.json
# 执行如下命令:
mkdir /etc/docker
vi /etc/docker/daemon.json
2、在文件中加入下面内容
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
3、Docker启动与停止命令
# 启动docker服务:
systemctl start docker
# 停止docker服务:
systemctl stop docker
# 重启docker服务:
systemctl restart docker
# 查看docker服务状态:
systemctl status docker
# 设置开机启动docker服务:
systemctl enable docker