离线安装docker

最近在部署项目,甲方的部署环境有可能内网环境,而我们现在的项目是部署在docker中的,所以需要记录一下如何离线安装docker。这里的步骤对于其他需要离线安装的deb包也是适用的。

关键字:docker,离线安装

下载docker相关的依赖包

首先需要一台能上外网的机器,下载和docker相关的依赖。

  1. 安装必要工具,这里把相关依赖都下载下来
1
2
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common -yd
  1. 安装GPG证书,这里以aliyun的为例
1
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

ps:一般发行版都有curl了,所以不用安装,实在没有也可以导出相关的deb包

1
sudo apt-get install --reinstall curl -yd
  1. 写入软件源信息
1
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
  1. 更新并导出Docker-CE相关的安装包
1
2
sudo apt-get -y update
sudo apt-get install docker-ce -yd
  1. 导出生成索引文件的安装包

1
sudo apt-get install dpkg-dev -yd

  1. 将docker相关的依赖包转移到U盘或者其他文件夹,准备下一步安装
1
2
sudo tar zcvf docker.tar.gz docker # 压缩
sudo tar zxvf docker.tar.gz # 解压

在需要离线安装的主机上操作

这里有两者方案,第一种方案是使用dpkg进行安装,命令比较简单:

1
2
cd /your-path/docker
sudo dpkg -i *.deb

第二种方案,就是使用apt安装。需要首先创建apt本地仓库

  1. 离线安装dpkg-dev
1
2
cd /your-path/dpkg-deb
sudo dpkg -i *.deb
  1. 利用上一步生成的docker安装包,建立deb包的依赖关系

1
2
3
chmod 777 -R /your-path
sudo touch /your-path/docker/Packages.gz
sudo dpkg-scanpackages docker /dev/null | gzip > /your-path/docker/Packages.gz

  1. 将所有下载的文件和生成的gz文件拷贝到离线的ubuntu机器上,将/etc/apt/sources.list原有内容注释掉,新增:
1
deb file:/your-path /docker
  1. 更新apt索引,这里设置允许不安全的仓库
1
sudo apt-get update --allow-insecure-repositories
  1. 安装docker-ce
1
sudo apt-get install docker-ce -y
  1. 查看是否安装成功
1
sudo docker info