IBM/secure-gateway-client docker 运行 加上 --F(acl 文件)选项
IBM/secure-gateway-client docker run with the --F (acl file) option
我一直在阅读文档,但仍然无法弄清楚如何使用 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
我已经给出了文件的完整路径,没有路径(如上)和我能想到的任何临时选项。容器 运行s,但没有我想在 ACL 文件中指定的选项。
这是我所做的:
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) 运行 new 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
希望对您有所帮助。
要使用 docker 中的交互式 'cp' 支持,从您的主机到 docker 实例,您必须使用 docker 1.8.0。您可以使用以下方式检查:
docker --version
完成此操作后,您的版本应如下所示。建议您允许 docker 到 运行 作为非根用户,因此 运行 将引擎升级到 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 图像,请按照以下步骤操作:
运行 'docker ps'命令查找你的容器ID
容器 ID 图像命令创建的状态端口名称
764aadce386b ibmcom/secure-gateway-client "node lib/secgwclient" 27 秒前 上升 26 秒 condescending_nobel
使用容器 ID 或名称使用 'docker cp' 命令复制您的 acl.list:
docker cp 01_client.list 764aadce386b:/root/01_client.list
接下来,在安全网关客户端运行ning中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
我一直在阅读文档,但仍然无法弄清楚如何使用 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
我已经给出了文件的完整路径,没有路径(如上)和我能想到的任何临时选项。容器 运行s,但没有我想在 ACL 文件中指定的选项。
这是我所做的:
1) 创建了一个包含 aclfile.txt
的 DockerfileFROM ibmcom/secure-gateway-client
ADD aclfile.txt /tmp/aclfile.txt
2) 构建了一个新的 docker 图像
docker build -t ads-secure-gateway-client .
3) 运行 new 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
希望对您有所帮助。
要使用 docker 中的交互式 'cp' 支持,从您的主机到 docker 实例,您必须使用 docker 1.8.0。您可以使用以下方式检查:
docker --version
完成此操作后,您的版本应如下所示。建议您允许 docker 到 运行 作为非根用户,因此 运行 将引擎升级到 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 图像,请按照以下步骤操作:
运行 'docker ps'命令查找你的容器ID
容器 ID 图像命令创建的状态端口名称 764aadce386b ibmcom/secure-gateway-client "node lib/secgwclient" 27 秒前 上升 26 秒 condescending_nobel
使用容器 ID 或名称使用 'docker cp' 命令复制您的 acl.list:
docker cp 01_client.list 764aadce386b:/root/01_client.list
接下来,在安全网关客户端运行ning中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