dockerは、いくつかの単純なAlpineベースのコンテナーを使用していたときに、奇妙なバグを生成し始めました。これらの問題の2つは次のとおりです。
rc-update
を使用しようとしたときに見つかりませんでしたopenssh
パッケージをインストールした後、/etc/ssh
に何もないか、サービスを開始/再起動する/etc/init.d/sshd
がありませんでした混乱を避けるために、単純なSSHサーバーとして機能する広く使用されているコンテナーをチェックアウトしました。あなたはそれを実行することによってそれを行うことができます:
git clone https://github.com/chamunks/Alpine-openssh.git
この後、Alpine-openssh
ディレクトリに移動し、次のコマンドでコンテナをビルドします。
docker build -t Alpine-openssh .
鉱山は以下を生産します:
Sending build context to Docker daemon 125.4 kB
Step 1 : FROM Alpine
---> 4e38e38c8ce0
Step 2 : MAINTAINER Chamunks <[email protected]>
---> Running in c21d3fa28903
---> f32322a2871a
Removing intermediate container c21d3fa28903
Step 3 : COPY sshd_config /etc/ssh/sshd_config
---> 392364fc35ce
Removing intermediate container 4176ae093cb8
Step 4 : ADD https://Gist.githubusercontent.com/chamunks/38c807435ffed53583f0/raw/ec868d1b45e248eb517a134b84474133c3e7dc66/gistfile1.txt /data/.ssh/authorized_keys
Downloading [==================================================>] 864 B/864 B
---> c3899b675728
Removing intermediate container f83629b6fa9b
Step 5 : RUN apk add --update openssh && rc-update add sshd && rc-status && touch /run/openrc/softlevel && /etc/init.d/sshd start && /etc/init.d/sshd stop && adduser -D user -h /data/
---> Running in 1d1aad9d1678
fetch http://dl-cdn.alpinelinux.org/Alpine/v3.4/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/Alpine/v3.4/community/x86_64/APKINDEX.tar.gz
(1/3) Installing openssh-client (7.2_p2-r3)
(2/3) Installing openssh-sftp-server (7.2_p2-r3)
(3/3) Installing openssh (7.2_p2-r3)
Executing busybox-1.24.2-r9.trigger
OK: 8 MiB in 14 packages
/bin/sh: rc-update: not found
The command '/bin/sh -c apk add --update openssh && rc-update add sshd && rc-status && touch /run/openrc/softlevel && /etc/init.d/sshd start && /etc/init.d/sshd stop && adduser -D user -h /data/' returned a non-zero code: 127
/bin/sh: rc-update: not found
の部分に注目してください。これは機能するはずですが、機能しません。私はdockerサービスを再起動し、dockerのフォーラムをチェックアウトしましたが、同様の問題は今のところ報告されていません。
なぜそれが起こるのですか?
rc-update
ツールは openrc
パッケージの一部
apk add openrc