1.前言
2.准备
2.1)docker的安装包官网下载地址:
https://download.docker.com/linux/static/stable/https://download.docker.com/linux/static/stable/x86_64/
选择自己的计算机类型,然后下载对应的版本,这里下载的是:


或者如果网路通的话可以使用wget下载到服务上。
2.2)准备两个docker需要的文件
docker.service 和 docker.socket 文件 GitHub 地址
https://github.com/moby/moby/tree/master/contrib/init/systemd
这也是这版本20.x坑的一个地方,它的运行需要这两个文件,不然会报错的。
3.安装
官网的二进制包安装参看:
https://docs.docker.com/install/linux/docker-ce/binaries/#install-static-binaries
3.1)上传安装包、docker.service 和 docker.socket 文件到服务器的/opt/docker,这个路径可以自行指定:
在/opt/docker路径下解压安装包:
tar xzvf docker-xxxx.tar将docker.service 和 docker.socket 文件传到如下路径:

给这两个文件授权:
chmod +x /etc/systemd/system/docker.servicechmod +x /etc/systemd/system/docker.socket
3.2)将解压出来的 docker 文件所有内容移动到 /usr/bin/ 目录下
sudo cp docker/* /usr/bin/3.3)开启 docker 守护进程(这个与常规安装方式不一样)
sudo dockerd &3.4) 查docker,设置开机启动
sudo docker imagessudo docker ps -asudo docker --versionsudo docker info#先重启 systemctl 守护进程sudo systemctl daemon-reload再开启 docker 服务sudo systemctl start docker* 如果上一行代码显示失败,那么重启电脑再重试上面两行命令 *sudo reboot开机自启sudo systemctl enable docker
3.5)配置阿里的镜像加速地址:
3.5.1)设置镜像加速地址:下面是我自己的阿里云镜像加速地址,可以去阿里云申请一个自己的账号,然后会获得一个镜像加速的地址,
https://dev.aliyun.com/search.html3、在管理中心点击加速器,右边面板会有你的加速地址,右边面板下面有详细设置步骤。这里以Centos为例:
通过修改daemon配置文件/etc/docker/daemon.json来使用加速器:
sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{"registry-mirrors": ["xxxxxxxxxxxxx"]}EOF
3.5.2)重新加载配置文件、设置开机启动并启动docker服务(逐步运行)
systemctl daemon-reload #重新加载配置文件systemctl enable docker #设置开机重启systemctl start docker #启动docker服务启动docker服务后,查看docker状态。然后重启后,重新查看docker服务状态systemctl status docker #查看docker状态reboot#重启linuxsystemctl status docker #查看docker状态

4.验证
运行hello-world的镜像:是否能正常运行?
docker run hello-worlddocker ps -a | grep hello-worlddocker logs -f xxxx 镜像id
5.拓展
5.1)shell脚本安装
# 创建vim /opt/docker/install.sh
内容如下:
echo '解压tar包...'tar -xvf $1echo '将docker目录移到/usr/bin目录下...'cp docker/* /usr/bin/echo '将docker.service和docker.socket 移到/etc/systemd/system/ 目录...'cp docker.service /etc/systemd/system/cp docker.socket /etc/systemd/system/echo '添加文件权限...'chmod +x /etc/systemd/system/docker.servicechmod +x /etc/systemd/system/docker.socketecho '重新加载配置文件...'systemctl daemon-reloadecho '启动docker...'systemctl start dockerecho '设置开机自启...'systemctl enable docker.serviceecho 'docker安装成功...'docker -v
在当前安装脚本所在路径执行:
sh install.sh docker-xxxx.tgz5.2)shell脚本卸载:
vim /opt/docker/uninstall.sh内容如下:
echo '删除docker.service...'rm -f /etc/systemd/system/docker.serviceecho '删除docker文件...'rm -rf /usr/bin/docker*echo '重新加载配置文件'systemctl daemon-reloadecho '卸载成功...'
当要卸载的时候在uninstall脚本所在路径下执行:
sh uninstall.sh5.3)Docker开源Moby和LinuxKit开源项目的介绍
#DockerCon 2017 D1: 发布 LinuxKit 染指 OS,Docker 项目演化为 Mobyhttp://blog.daocloud.io/5151.html
LinuxKit的gitHub:
LinuxKit是为容器组装操作系统的工具包
“Linux也是Docker的组件。”——Patrick Chanezonhttps://github.com/linuxkit/linuxkit
Moby开源组织官网:
https://mobyproject.org/Moby开源组织容器开源项目:
https://mobyproject.org/projects/Moby的gitHub:
https://github.com/moby/moby
什么是 Moby Project?
Docker 公司决定将软件产品 “Docker” 和开源项目 “Docker” 区分开来。Moby Project 项目将作为开源项目的新名称, 它包含了一系列公共开源组件, 用于组装专门的容器系统。Moby 将由开源社区的开发者共同维护。而 Docker 公司会基于 Moby 构建 Docker 社区版 (CE) 和企业版 (EE) 等软件产品。
Moby是一个新的开源项目,旨在推动软件的容器化,并帮助生态系统使容器技术主流化。它提供了一个组件库,一个组装这些组件成为容器化体系的框架,和一个可以容纳所有容器爱好者的社区
LinuxKit和Moby的关系:
网络图:


感兴趣的小伙伴可以去研究下这个两个开源项目,本文就不做过多的阐述。