最近在部署项目,甲方的部署环境有可能内网环境,而我们现在的项目是部署在docker中的,所以需要记录一下如何离线安装docker。这里的步骤对于其他需要离线安装的deb包也是适用的。
关键字:docker,离线安装
下载docker相关的依赖包
首先需要一台能上外网的机器,下载和docker相关的依赖。
- 安装必要工具,这里把相关依赖都下载下来
1 2
| sudo apt-get update sudo apt-get install apt-transport-https ca-certificates curl software-properties-common -yd
|
- 安装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
| sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
|
- 更新并导出Docker-CE相关的安装包
1 2
| sudo apt-get -y update sudo apt-get install docker-ce -yd
|
- 导出生成索引文件的安装包
1
| sudo apt-get install dpkg-dev -yd
|
- 将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本地仓库
- 离线安装dpkg-dev
1 2
| cd /your-path/dpkg-deb sudo dpkg -i *.deb
|
- 利用上一步生成的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
|
- 将所有下载的文件和生成的gz文件拷贝到离线的ubuntu机器上,将
/etc/apt/sources.list原有内容注释掉,新增:
1
| deb file:/your-path /docker
|
- 更新apt索引,这里设置允许不安全的仓库
1
| sudo apt-get update --allow-insecure-repositories
|
- 安装docker-ce
1
| sudo apt-get install docker-ce -y
|
- 查看是否安装成功
![]()