[Docker] 建立 Docker image 時,出現 fakesystemd 衝突

[Docker] 建立 Docker image 時,出現 fakesystemd 衝突

今天想要用 Docker 重建我的 build machine,

這個 build machine 是以 CentOS 7.0 為基底的,

但是在執行 docker build 時,

執行到 yum install openssl-devel 會出現如下的錯誤訊息:

Error: libselinux conflicts with fakesystemd-1-17.el7.centos.noarch
 You could try using --skip-broken to work around the problem
** Found 1 pre-existing rpmdb problem(s), 'yum check' output follows:
fakesystemd-1-17.el7.centos.noarch has installed conflicts systemd: fakesystemd-1-17.el7.centos.noarch
The command '/bin/sh -c yum -y install openssl-devel openssl-devel.i686' returned a non-zero code: 1
Error response from daemon: conflict: unable to delete e2bd91cc496c (must be forced) - image is being used by stopped container 745ee8b18954

 

錯誤訊息是說 libselinux 與 fakesystemd 衝突,

但還是有看沒有懂…

找了半天,找到一個解法,就是將 fakesystemd 換成 systemd:

RUN yum -y clean all
RUN yum -y swap fakesystemd systemd

 

將上面兩行加在 Dockerfile 前面 (在用 yum 安裝任何套件之前),

再重新執行 docker build,就沒問題了~

 

參考資料:Fixing CentOS 7 systemd conflicts with docker

(本頁面已被瀏覽過 665 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料