2016-02-12 133 views
1

我是docker的新手,但設法構建了一些dev-environment映像(這非常棒!)。但是我對所得圖像的文件大小並不滿意,所以我嘗試將圖像從節點氬圖像(基於debian-wheezy)遷移到高山圖像。問題是vagrant.deb軟件包的安裝無法正常工作。我安裝了高山dpkg包,但得到這些錯誤:Debian Packagemanager不會在alpine-linux上安裝vagrant.deb軟件包,同時構建docker映像

dpkg: error: failed to open package info file '/var/lib/dpkg/status' for reading: No such file or directory 

我發現這個話題了一些威脅,但沒有涉及到高山安裝,也不會解決我的問題。相關泊塢窗線有:

FROM gliderlabs/alpine:3.3 
RUN apk add --update dpkg 
ENV VAGRANT_VERSION 1.8.1 
ADD https://releases.hashicorp.com/vagrant/${VAGRANT_VERSION}/vagrant_${VAGRANT_VERSION}_x86_64.deb . 
RUN dpkg -i vagrant_${VAGRANT_VERSION}_x86_64.deb 
RUN rm vagrant_*.deb 

別人得到這個工作 - 我的猜測是,有可能有些編譯/安裝依賴失蹤,但無法進一步得到它的任何。任何建議都會很受歡迎。

一切順利,弗洛裏安

+0

真是一個驚喜! Debian命令不適用於Alpine! – hek2mgl

+0

艾姆...斯里? thx對我來說很愚蠢,但我認真地問了這個問題......因爲爲什麼會有debian linux package-manager的alpine-linux包,如果這根本不起作用的話? - pkgs.alpinelinux.org/package/main/x86/dpkg我找不到其他發行版debian的流浪包。對碼頭工人/構建Linux鏡像來說很新穎,並且設想系統應該足夠類似以共享軟件......如果我誤解了這一點,我很抱歉。所以你說我不能在高山linux上使用流浪漢 - 或者有什麼方法可以從源代碼或類似代碼中編譯它? – Florian

+1

我看到'dpkg'命令是出於任何原因可以安裝在Alpine上。但是,Alpine不是基於dpkg的發行版。它 - 真的(!!!) - 一個集成它的黑客。我可以使用這個[Dockerfile](http://pastebin.com/uKzqJtRE)在'Alpine'上成功安裝vagrant。然而,你最終會得到:'bash:/ opt/vagrant/embedded/bin/ruby​​:沒有這樣的文件或目錄...... – hek2mgl

回答

4

在問題下面的評論,我們發現,它確實是可以安裝使用dpkg高山上的Linux的vagrant.deb。然而,它真的很駭人(!),並且最終,由於生成的圖像尺寸爲2.5G =),Alpine Linux的優勢並不重要。

這就是爲什麼我的答案是(我說的是前):讓你的生活輕鬆,如果你要安裝的deb包:)

對於所有潛在的阿爾卑斯容器用戶使用Debian或者Ubuntu的鏡像,請三思如果您真的需要比普通GNU/Linux基本映像小几MB的基本映像,則需要兩次。由於擁有糟糕的shell環境(歡迎來到80年代!),並且可用軟件包的數量要少得多,您將爲這幾塊MB付出代價。

如果你想要一個最小的容器,那麼不要把一個分佈放入一個容器,把一個過程放入一個容器!