前言有时候服务器无法上网,所以无法使用yum安装软件,docker也是如此。针对这种情况,我总结了离线安装docker的步骤。1、准备docker离线包docker官方离线包下载地址下载需要安装的docker版本,这里以docker-17.03.2-ce.tgz版本为例。准备docker.service系统配置文件[Unit]Description=DockerApplicationContainerEngineDocumentation=https://docs.docker.comAfter=network-online.targetfirewalld.serviceWants=network-online.target[Service]Type=notify#默认不对cgroup使用systemd,因为委托问题仍然#存在并且systemd当前不支持dockerExecStart=/usr/bin/dockerdExecReload=/bin/kill-sHUP$MAINPID#运行的容器所需的cgroup功能集#非零Limit*s由于内核中的记帐开销#而导致性能问题。我们建议使用cgroups来做容器本地记账。LimitNOFILE=infinityLimitNPROC=infinityLimitCORE=infinity#如果你的systemd版本支持,请取消注释TasksMax。#只有systemd及以上版本支持此版本。#TasksMax=infinityTimeoutStartSec=0#setdelegateyes这样systemd就不会重置docker容器的cgroupDelegate=yes#只杀死docker进程,而不是cgroupKillMode=process中的所有进程#如果docker进程过早退出则重新启动它Restart=on-failureStartLimitBurst=3StartLimitIntervalst=all[]WantedBy=multi-user.target准备安装脚本和卸载脚本Installscriptinstall.sh#!/bin/shecho'解压tar包...'tar-xvf$1echo'移动docker目录到/usr/bindirectory...'cpdocker/*/usr/bin/echo'将docker.service移动到/etc/systemd/system/目录下...'cpdocker.service/etc/systemd/system/echo'添加文件权限...'chmod+x/etc/systemd/system/docker.serviceecho'重新加载配置文件...'systemctldaemon-reloadecho'启动docker...'systemctlstartdockerecho'设置开机自启动...'systemctlenabledocker.serviceecho'docker安装成功...'docker-vuninstallscriptuninstall.sh#!/bin/shecho'删除docker.service...'rm-f/etc/systemd/system/docker.serviceecho'删除dockerFile...'rm-rf/usr/bin/docker*echo'重新加载配置文件'systemctldaemon-reloadecho'卸载成功...'4.安装4.1此时的目录是:(只需要付注意docker-17.03.2-ce。tgz,docker.service,install.sh,uninstall.sh)4.2执行脚本shinstall.shdocker-17.03.2-ce.tgz脚本执行完成后,执行docker-v,发现docker已经安装成功。您可以使用docker--help来查看docker命令,以后您可以自己安装镜像和容器了。4.3如果要卸载docker,此时执行脚本shuninstall.sh。importdockersave-oupdate1.tarupdate//镜像exportdockerload
