acbuild run
を使用して予期しない動作が発生しています。 rktに慣れるには、SSHホストを実行しているCentOS7ベースのコンテナから始めることでした。 centos7.aci
として以下に参照される裸のCentOS 7コンテナは、hereの指示に従って最新のCentOS7インストールで作成されました。それはrkt run --insecure-options=image ./centos7-sshd.aci
サーバーの実行を使って紡糸が、パスワードが受け入れられないため、接続の試行が失敗だときSSHD ACIを構築するために使用 スクリプトがrkt/image building:acbuildの実行手順が「無視されました」
#! /bin/bash
acbuild begin ./centos7.aci
acbuild run -- yum install -y openssh-server
acbuild run -- mkdir /var/run/sshd
acbuild run -- sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
acbuild run -- sed '[email protected]\s*required\s*[email protected] optional [email protected]' -i /etc/pam.d/sshd
acbuild run -- ssh-keygen -A -C "" -N "" -q
acbuild run -- echo 'root:screencast' | chpasswd
acbuild set-name centos7-sshd
acbuild set-exec -- /usr/sbin/sshd -D
acbuild port add ssh tcp 22
acbuild write --overwrite centos7-sshd.aci
acbuild end
です。実行中のコンテナに入るためにrkt enter
を使用してecho 'root:screencast' | chpasswd
を再度実行すると、ログインできます。そのため、何らかの理由でacbuildの実行命令が機能しなくなったため、もう少しテストするため、パスワードログインの代わりにキーベースを有効にするには、 acbuild run -- mkdir ~/.ssh acbuild run -- echo "<rkt host SSH public key>“ >> ~/.ssh/authorized_keys
に置き換えました。それは動作しません:キーは拒否されます。コンテナを調べると、その理由は明らかです。authorized_keys
ファイルは~/.ssh/
にありません。キー追加の試行の前に
acbuild run -- touch ~/.ssh/authorized_keys
命令を追加すると、ファイルは作成されますがまだ空です。したがって、acbuild実行命令はエラー通知なしでは動作しませんでした。 「無視された」命令の両方が、>>
と|
のような演算子を使用するという事実に関係しているかもしれませんか?私が見た例で示されたすべてのコマンドはそのような演算子を使用していませんが、docsには何も言及されておらず、Googleの検索でも役に立ちません。 dockerfile RUN
の指示でもうまくいきます...ここで何がうまくいかないのですか?
PS:私はrkt
としてこれをタグ付けしなければならなかった何acbuild
タグがStackOverflowの上ではまだありません:私は=>同じ結果
PPSを「無視」acbuild run
指示に代わりデフォルトsystemd-nspawn
エンジンのchroot
を使用しようとしました - 十分な評判を持った誰かが作成してくれますか? Thx