さくらの VPS で CentOS7 を入れて docker しているのだが、 ubuntu12.04 のイメージを使って openssh-client をインストールしようとしたところエラーになった
Errors were encountered while processing: openssh-client E: Sub-process /usr/bin/dpkg returned an error code (1)
実際は openssh-client をインストールしようとしたわけではなく、前に作った Dockerfile を build したところエラーになったのだが
それはさておきこのエラーメッセージでは何が何だかわからないので ubuntu12.04 のイメージで直接 openssh-client をインストールしてみた
groupadd: failure while writing changes to /etc/group addgroup: `/usr/sbin/groupadd -g 102 ssh' returned error code 10. Exiting. dpkg: error processing openssh-client (--configure): subprocess installed post-installation script returned error exit status 1 E: Sub-process /usr/bin/dpkg returned an error code (1)
すると groupadd に失敗する、という
なぜ?と思って groupadd を直接叩いたらこんなエラー
groupadd: failure while writing changes to /etc/group
/etc/group に書き込めない?
# ls -adl /etc/group -rw-r--r--. 1 root root 461 Aug 19 09:17 /etc/group
いや、書き込めないわけないよね
google 先生に聞いてもあんまり記事が出てこなかったが、 ubuntu の official-images にこんな issue が
SELinux?
いや、 ubuntu のイメージなんだけど・・・
あ、ホストの CentOS の SELinux か
(docker ホスト) # getenforce Enforcing
有効になってる
# setenforce 0 # getenforce Permissive
無効にして、
Dockerfile を走らせたらすべてうまくいきました
なんでなのかはよくわからなかった
直接書いたら書けるしなー
groupadd の中身で何かあるのかな?
そういえば普通のユーザーは問題なく追加できてたな・・・
とりあえず、 build の時は Permissive にして、普段は Enforcing にする、みたいな感じで今の所やってる