最近用到Jenkins,使用了Docker来提供服务,但是在构建步骤中又希望能够使用Docker去生成镜像,因此需要实现在Docker容器中去安装Docker,其实也就是在特定的系统环境下安装Docker,但是实际操作中可能还会出现其他问题。
以Jenkins/Jenkins容器为例子。
进入jenkins容器:
docker exec -it jenkins /bin/bash
一般安装前都需要知道当前系统信息,没有安装lsb-core,因此执行:
uname -a
我在第一次查询时候也看不出来是用的哪个系统以及版本,猜测应该为Debian。
因为原来的配置的源速度太慢(无效?),因此执行apt-get update都会失败,所以无法去安装新的软件。所以需要先更改源配置,这个过程中我找到了不少配置信息,但是基本都因为key过期等原因不能够使用。这里推荐一个很好的网站,会每隔四小时发布Debian的源地址:
备份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,可以参考菜鸟的步骤: