Docker容器中安装Docker

最近用到Jenkins,使用了Docker来提供服务,但是在构建步骤中又希望能够使用Docker去生成镜像,因此需要实现在Docker容器中去安装Docker,其实也就是在特定的系统环境下安装Docker,但是实际操作中可能还会出现其他问题。
以Jenkins/Jenkins容器为例子。
进入jenkins容器:

docker exec -it jenkins /bin/bash

一般安装前都需要知道当前系统信息,没有安装lsb-core,因此执行:

uname -a

我在第一次查询时候也看不出来是用的哪个系统以及版本,猜测应该为Debian。


image.png

因为原来的配置的源速度太慢(无效?),因此执行apt-get update都会失败,所以无法去安装新的软件。所以需要先更改源配置,这个过程中我找到了不少配置信息,但是基本都因为key过期等原因不能够使用。这里推荐一个很好的网站,会每隔四小时发布Debian的源地址:

http://mirrors.163.com/.help/debian.html

备份Linux的源配置文件:

cd /etc/apt
mv sources.list sources.bak 

修改源配置信息(因为没有安装vim,只能通过>方式将地址写入文件)

#这里的地址可能会变化,参考上面的链接获取到最新
echo deb http://mirrors.163.com/debian/ stretch main non-free contrib >sources.list 

然后安装vim,方便后面查看等操作。

apt-get update
apt-get install vim

编辑sources.list 文件,配置完整地址。

vim sources.list 
#替换掉原来的配置,参考上面的链接获取到最新
deb http://mirrors.163.com/debian/ stretch main non-free contrib
deb http://mirrors.163.com/debian/ stretch-updates main non-free contrib
deb http://mirrors.163.com/debian/ stretch-backports main non-free contrib
deb-src http://mirrors.163.com/debian/ stretch main non-free contrib
deb-src http://mirrors.163.com/debian/ stretch-updates main non-free contrib
deb-src http://mirrors.163.com/debian/ stretch-backports main non-free contrib
deb http://mirrors.163.com/debian-security/ stretch/updates main non-free contrib
deb-src http://mirrors.163.com/debian-security/ stretch/updates main non-free contrib

同样安装lsb-core,安装完成后可以使用lsb_release -a查看系统版本。

apt-get update
apt-get install lsb-core -y

接下来就是安装Docker,这里我们已经知道是在Debian环境下安装Docker,可以参考菜鸟的步骤:

https://www.runoob.com/docker/debian-docker-install.html

推荐阅读更多精彩内容