如果你只是想安装Docker或Docker compose,请直接跳到末尾。
# Docker是什么
Docker是是一个开源的应用容器引擎,实现从文件系统、网络互联到进程的隔离,并且极大的简化了容器的创建和维护。
Dockers是在操作系统层面实现的虚拟化,相对传统虚拟机技术更为轻便、快捷,性能开销极低。
传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。
# 为什么使用Docker
在部署个人服务器应用方面,docker拥有很多的优点。
# 部署简便
Docker相对普通的一步步配置基础环境简便了很多,因为这些工作已经由容器制作者完成了,我们通常仅需一行命令即可完成服务器应用的部署。
有了Docker的协助,我们就不必折腾各种环境问题。许多环境问题对于新手来说是十分棘手的,且十分浪费精力时间。人生苦短,我选Docker。
容器的销毁也十分简单,直接一行命令删除即可,无需担心文件和配置修改的遗留。
# 迁移轻松
Docker可以确保了执行环境的一致性,使得应用的迁移更加容易。Docker可以在很多平台上运行,无论是物理机、虚拟机、公有云,甚至是笔记本、树莓派,其运行结果是一致的(注:在不同cpu架构能否运行还是要看具体容器应用支持与否,例如很多容器应用只支持x86架构)。因此用户可以很轻易的将在一个平台上运行的应用,迁移到另一个平台上,而不用担心运行环境的变化导致应用无法正常运行的情况。
# 性能开销低
由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,Docker对系统资源的利用率更高。无论是应用执行速度、内存损耗或者文件存储速度,都要比传统虚拟机技术更高效。即便相对原始部署,虚拟化开销也是比较低。
# 安装Docker
强烈推荐替换默认镜像源为国内加速源,国外的官方源速度相当缓慢
# Linux安装Docker
此处以CentOS7为例
#step1 安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
#step2 添加yum源
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
#step3 安装Docker社区版并启动
yum -y install docker-ce docker-ce-cli containerd
systemctl start docker
#step4 配置Docker国内镜像加速
#由于国内网络问题,不修改后面拉取镜像的速度会太慢
vi /etc/docker/daemon.json
#写入如下内容并保存(更新:由于下面这个源仍然速度比较慢,强烈推荐使用阿里云等的国内加速源)
{ "registry-mirrors": ["https://registry.docker-cn.com"] }
#step5 重新启动服务
systemctl daemon-reload
systemctl restart docker
# Windows安装Docker
到官网下载并安装Docker Desktop for Windows,一路确认即可,注意需要注册账号。
# 申请阿里云国内源
// todo
# 安装Docker Compose
# 可切换为国内源,github上的比较缓慢
# curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose