1

ドキュメントを読んでいますが、Docker 内で ACL ファイル オプションを使用して IBM/Secure-Gateway-client を実行する方法がわかりません。

クライアント Docker イメージを取得し、次の構文を使用しています。

bash -c 'nohup docker run ibmcom/secure-gateway-client --F aclfile.txt xxx_stage_ng  > tmp/run_sgc.log 2>&1 &'

ログに記録されるのは次のとおりです。

[2015-09-30 11:30:41.764] [ERROR] An exception occurred reading or processing the ACL file, error is Error: ENOENT, no such file or directory 'aclfile.txt'
[2015-09-30 11:30:41.764] [WARN] The ACL has been set to DENY ALL until this is fixed.
[2015-09-30 11:30:43.779] [INFO] The Secure Gateway tunnel is connected

ファイルへのフル パスを指定しました。パスは指定せず (上記のように)、考えられる任意の暫定オプションを指定しました。コンテナーは実行されますが、ACL ファイルで指定したいオプションでは実行されません。

4

2 に答える 2

1

これは私がしたことです:

1) aclfile.txt を含める Dockerfile を作成しました。

FROM ibmcom/secure-gateway-client
ADD aclfile.txt /tmp/aclfile.txt

2) 新しい docker イメージをビルドする

docker build -t ads-secure-gateway-client .

3) 新しい Docker イメージを実行します (-t および -i オプションを指定する必要があります。指定しないと、ファイルが見つからないというエラーが発生します)。

docker run -t -i ads-secure-gateway-client  --F /tmp/aclfile.txt

4) 次の出力を得ました。

[2015-09-30 16:50:32.084] [INFO] The current access control list is being reset and replaced by the user provided batch file: /tmp/aclfile.txt
[2015-09-30 16:50:32.086] [INFO] The ACL batch file process accepts acl allow :8000
[2015-09-30 16:50:32.087] [INFO] The ACL batch file process accepts acl deny localhost:22

それが役立つことを願っています。

于 2015-09-30T20:53:24.067 に答える
0

ホストから docker インスタンスへの docker でインタラクティブな 'cp' サポートを使用するには、docker 1.8.0 である必要があります。これは、次を使用して確認できます。

docker --version

これが完了すると、バージョンは次のように表示されます。docker を root 以外のユーザーとして実行できるようにすることをお勧めします。そのため、エンジンを 1.8.0 または 1.8.2 にアップグレードした後で、推奨されるコマンドを実行してください。

Client:
 Version:      1.8.2
 API version:  1.20
 Go version:   go1.4.2
 Git commit:   0a8c2e3
 Built:        Thu Sep 10 19:21:21 UTC 2015
 OS/Arch:      linux/amd64

Server:
 Version:      1.8.2
 API version:  1.20
 Go version:   go1.4.2
 Git commit:   0a8c2e3
 Built:        Thu Sep 10 19:21:21 UTC 2015
 OS/Arch:      linux/amd64

次に、acl ファイル リストを docker イメージにプッシュするには、次の手順に従います。

  1. 「docker ps」コマンドを実行して、コンテナー ID を見つけます。

    コンテナー ID イメージ・コマンド作成状況ポート名 764aadce386b ibmcom/secure-gateway-client "node lib/secgwclient" 27 秒前 26 秒前 condescending_nobel

  2. コンテナー ID または名前のいずれかを使用して、「docker cp」コマンドを使用して acl.list をコピーします。

    docker cp 01_client.list 764aadce386b:/root/01_client.list

  3. 次に、docker で実行されているセキュア ゲートウェイ クライアントで:

    cli> F /root/01_client.list

     [2015-10-01 08:12:30.091] [INFO] The current access control list is being reset and replaced by the user provided batch file: /root/01_client.list
     [2015-10-01 08:12:30.093] [INFO] The ACL batch file process accepts acl allow 127.0.0.1:27017
     [2015-10-01 08:12:30.094] [INFO] The ACL batch file process accepts acl allow 127.0.0.1:22
    
于 2015-10-01T12:25:44.803 に答える