如何将 docker 图像从 USS 复制到 IBM zCX 服务器

How to copy the docker images to IBM zCX server from USS

我正在尝试构建 z/OSMF 工作流程以将我的应用程序 docker 图像从 USS 复制到 zCX 服务器。有两种方法 -

  1. 将 docker 图像推送到 zCX Private/Public docker 注册表。
  2. 将 docker tar 复制到 ZCX 并使用 docker 加载命令
  3. 加载到 docker 存储库

我既没有 zCX Docker 注册表也没有 linux 系统。我的 docker 图片在 USS 上以 tar 格式提供。 zCX 中没有可用的 SFTP。

  1. 有没有办法在 zCX 中获取我的 docker 图片?
  2. 是否有任何 z/OSMF 内置步骤来执行此 activity?

我阅读了文档 - http://www.redbooks.ibm.com/redbooks/pdfs/sg248457.pdf。不是很清楚得到started.

zcx中有sftp

登录zCX后,执行sftp cmd得到:

admin@cn02:~$ sftp
usage: sftp [-46aCfpqrv] [-B buffer_size] [-b batchfile] [-c cipher]
      [-D sftp_server_path] [-F ssh_config] [-i identity_file] [-l limit]
      [-o ssh_option] [-P port] [-R num_requests] [-S program]
      [-s subsystem | sftp_server] host
   sftp [user@]host[:file ...]
   sftp [user@]host[:dir[/]]
   sftp -b batchfile [user@]host

如果您设置了 zCX,并设置了默认用户 ID,那么大概您可以从 zOS 中的 USS env ssh 到 zCX env,不需要密码。

这意味着您可以像这样执行 cmd 以二进制方式将文件传输到 zCX

ZCX@SC:/tmp>回显'put /tmp/hw.txt' | sftp -P 8022 admin@cn02.ibm.com:/tmp

无法确定主机“[cn02.ibm.com]:8022 ([129.01.01.01]:8022)”的真实性。 ECDSA 密钥指纹是 SHA256:CplCw7We+4b/gOK8ngj9XlY3p6uFNZXRabmvBqu6r3o。 您确定要继续连接 (yes/no) 吗?是的 FOTS2274 警告:将“[cn02.ibm.com]:8022,[129.01.01.01]:8022”(ECDSA) 永久添加到已知主机列表中。 连接到 cn02.ibm.com。 更改为:/tmp sftp> 放 /tmp/hw.txt 上传 /tmp/hw.txt 到 /tmp/hw.txt /tmp/hw.txt 100% 20 0.0KB/s 00:00

在 zCX 中,登录时:

admin@cn02:/tmp$密码 /tmp admin@cn02:/tmp$ ls -lrt 共 4 个 -rwxrwxr-x 1 admin admin 20 May 15 12:37 hw.txt admin@cn02:/tmp$ 猫 hw.txt ş▒▒▒@▒▒▒▒@▒▒▒@z`]admin@cn02:/tmp$

由于 SFTP 默认进行二进制传输,hw.txt 文件的内容在 USS 中是 EBCDIC,已按原样传输到 zCX

由于 zCX 是 ASCII,当您在 zCX 中执行 cat on hw.txt 时会得到不可读的输出,因为 ASCII env 正在尝试输出 EBCDIC

的数据

因为您想将 tar 文件从 USS 传输到 zCX,您不希望 EBCDIC 到 ASCII 的转换发生,您希望 sftp 执行 asis(二进制传输),这是默认设置

针对上面的原始问题 2 - 当前没有 z/OSMF 上传图像 tarball 的工作流程。这是一个有趣的想法。 Push/pull 从注册表中移动图像是更常见的方式。

您可能要考虑与 Open Mainframe 项目 (https://www.openmainframeproject.org/projects/zorow) 中名为 Zorrow 的项目保持联系。我们正处于在那里创建社区的早期阶段,人们可以在其中共享这种工作流程。