离线安装docker

生产服务器访问外网受限,此外使用yum源下载镜像的速度较慢,在此介绍离线安装的方法。

第一步:准备docker离线包

在这里选择的是官方离线包(docker官方离线包下载地址),在这里可以按自己的需求选择对应的版本。我安装使用的是docker-17.03.2-ce.tgz版本。

第二步:准备配置文件和安装脚本

为了方便查找,新建路径~k8s/docker,切换到该路径下。
新建docker.service系统配置文件

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

新建安装脚本install.sh

#!/bin/sh
echo '解压tar包...'
tar -xvf $1

echo '将docker目录移到/usr/bin目录下...'
cp docker/* /usr/bin/

echo '将docker.service 移到/etc/systemd/system/ 目录...'
cp docker.service /etc/systemd/system/

echo '添加文件权限...'
chmod +x /etc/systemd/system/docker.service

echo '重新加载配置文件...'
systemctl daemon-reload

echo '启动docker...'
systemctl start docker

echo '设置开机自启...'
systemctl enable docker.service

echo 'docker安装成功...'
docker -v

新建卸载脚本uninstall.sh

#!/bin/sh

echo '删除docker.service...'
rm -f /etc/systemd/system/docker.service

echo '删除docker文件...'
rm -rf /usr/bin/docker*

echo '重新加载配置文件'
systemctl daemon-reload

echo '卸载成功...'

第三步:安装docker

执行脚本:

sh install.sh docker-17.03.2-ce.tgz

脚本执行完毕后,使用docker --help输出提示 即证明安装完成。

第四步:配置docker代理访问外网

目前的生产机器是无法直接访问外网镜像之类的资源,所以需要永久配置一下docker外网代理。
如果配置文件夹不存在,新建该路径:

mkdir -p /etc/systemd/system/docker.service.d

在该路径下,新建代理配置文件:

[Service]
Environment="HTTP_PROXY=http://10.223.94.15:8089/" "HTTPS_PROXY=https://10.223.94.15:8089/" "NO_PROXY=localhost,127.0.0.1,daocloud.io,myshare.io"

配置代理后还可以添加白名单访问地址,局域网内的私有镜像库、国内你放有镜像的公开库。我在这里添加了集群局域网内的私有库。
刷新docker守护进程的配置:

sudo systemctl daemon-reload

重启docker即可永久使用代理访问外网镜像资源:

sudo systemctl restart docker

你可能感兴趣的:(docker,容器,docker)