孤岛环境搭建docker

无法连接互联网的情况下,我们需要使用docker就需要离线搭建,但是如果直接下载docker-ce的rpm包安装的话会缺少各种依赖,经过摸索,发现配置本地yum源可以解决当前问题。本文将阐述在CentOS7下,通过配置本地yum源,离线安装docker-ce。

1.有网环境下载docker镜像

如不想自行下载最新版本docker镜像可以直接下载压缩文件下载地址如下:

链接:https://pan.baidu.com/s/12mt-Qtz3sJmV_wjW8xQWFA 
提取码:tej3

如果想自行搭建则看下文

1.1 使用yum只下载不安装依赖包

yum install --downloadonly --downloaddir=/root/docker-ce-local <package-name>
mkdir -p /root/docker-ce-local && cd /root/docker-ce-local
yum install --downloadonly \
--downloaddir=/root/docker-ce-local createrepo
yum update --downloadonly --downloaddir=/docker-ce-local
yum install --downloadonly \
--downloaddir=/root/docker-ce-local \
yum-utils device-mapper-persistent-data lvm2
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
yum makecache fast
yum install --downloadonly --downloaddir=/root/docker-ce-local docker-ce

1.2 卸载旧版本

yum remove docker \
docker-common \
docker-selinux \
docker-engine

1.3 查看安装时docker所需要的密钥并下载

more /etc/yum.repos.d/docker-ce.repo
cd /root/docker-ce-local/
wget https://download.docker.com/linux/centos/gpg

看到如下情况
孤岛环境搭建docker_第1张图片
1.4 初始化源文件仓库数据

安装createrepo,并初始化

yum install createrepo
createrepo -pdo /root/docker-ce-local /root/docker-ce-local
createrepo --update /root/docker-ce-local

1.5 将文件夹打包为yum-local.tgz

cd /root
tar -zcvf centos-local.tgz docker-ce-local/

2.在离线环境搭建

2.1 将tgz包上传至/root路径下,并解压centos-local.tgz文件

cd /root
tar -xvzf centos-local.tgz

2.2 安装createrepo

cd /root/docker-ce-local
rpm -ivh createrepo-0.9.9-28.el7.noarch.rpm

注:createrepo版本可能不一样,根据自己下载的包的版本安装

2.3 备份安装源

将所有的安装源移动到备份文件夹中

cd /etc/yum.repos.d/
mkdir repobak
mv CentOS* repobak/

2.4 配置本地源

vi /etc/yum.repos.d/docker-ce-local.repo

[docker-ce-local]
name=Local Yum
baseurl=file:///root/docker-ce-local/
gpgcheck=1
gpgkey=file:///root/docker-ce-local/gpg
enabled=1

2.5 安装docker-ce

createrepo /root/docker-ce-local
yum makecache
cd /root/docker-ce-local
rpm -ivh container-selinux-2.119.1-1.c57a6f9.el7.noarch.rpm
yum install docker-ce
systemctl start docker.service
systemctl enable docker.service
docker version

至此docker离线安装成功。

你可能感兴趣的:(docker)