最近用到Jenkins,使用了Docker來提供服務(wù),但是在構(gòu)建步驟中又希望能夠使用Docker去生成鏡像,因此需要實現(xiàn)在Docker容器中去安裝Docker,其實也就是在特定的系統(tǒng)環(huán)境下安裝Docker,但是實際操作中可能還會出現(xiàn)其他問題。
以Jenkins/Jenkins容器為例子。
進(jìn)入jenkins容器:
docker exec -it jenkins /bin/bash
一般安裝前都需要知道當(dāng)前系統(tǒng)信息,沒有安裝lsb-core,因此執(zhí)行:
uname -a
我在第一次查詢時候也看不出來是用的哪個系統(tǒng)以及版本,猜測應(yīng)該為Debian。

image.png
因為原來的配置的源速度太慢(無效?),因此執(zhí)行apt-get update都會失敗,所以無法去安裝新的軟件。所以需要先更改源配置,這個過程中我找到了不少配置信息,但是基本都因為key過期等原因不能夠使用。這里推薦一個很好的網(wǎng)站,會每隔四小時發(fā)布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查看系統(tǒng)版本。
apt-get update
apt-get install lsb-core -y
接下來就是安裝Docker,這里我們已經(jīng)知道是在Debian環(huán)境下安裝Docker,可以參考菜鳥的步驟: