docker - 如何将 docker 镜像从 USS 复制到 IBM zCX 服务器
问题描述
我正在尝试构建 z/OSMF 工作流程以将我的应用程序 docker 映像从 USS 复制到 zCX 服务器。有两种方法 -
- 将 docker 镜像推送到 zCX Private/Public docker Registry。
- 将 docker tar 复制到 ZCX 并使用 docker load 命令加载到 docker 存储库中
我既没有 zCX Docker Registry,也没有 linux 系统。我的 docker 图像在 USS 上以 tar 格式提供。zCX 中没有可用的 SFTP。
- 有什么方法可以在 zCX 中获取我的 docker 镜像?
- 是否有任何 z/OSMF 内置步骤来执行此活动?
我阅读了文档 - http://www.redbooks.ibm.com/redbooks/pdfs/sg248457.pdf。开始还不是很清楚。
解决方案
如果您已经设置了 zCX,并设置了默认用户 ID,那么您大概可以从 zOS 中的 USS env ssh 到 zCX env,而无需 pwd。
这意味着您可以像这样执行 cmd 将文件二进制传输到 zCX
ZCX@SC:/tmp>echo '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。您确定要继续连接(是/否)?是 FOTS2274 警告:将 '[cn02.ibm.com]:8022,[129.01.01.01]:8022' (ECDSA) 永久添加到已知主机列表中。连接到 cn02.ibm.com。更改为: /tmp sftp> put /tmp/hw.txt 上传 /tmp/hw.txt 到 /tmp/hw.txt /tmp/hw.txt 100% 20 0.0KB/s 00:00
在 zCX 中,登录时:
admin@cn02:/tmp$ pwd /tmp admin@cn02:/tmp$ ls -lrt total 4 -rwxrwxr-x 1 admin admin 20 May 15 12:37 hw.txt admin@cn02:/tmp$ cat hw.txt ȅ ▒▒▒@▒▒▒▒@▒▒▒@z`]admin@cn02:/tmp$
由于SFTP默认进行二进制传输,因此USS中为EBCDIC的hw.txt文件的内容已经原样传输到zCX
由于 zCX 是 ASCII,当您在 zCX 中对 hw.txt 执行 cat 操作时,会得到不可读的输出,因为 ASCII 环境正在尝试输出 EBCDIC 数据
当您想将 tar 文件从 USS 传输到 zCX 时,您不希望发生 EBCDIC 到 ASCII 转换,您希望 sftp 进行 asis (binary transfer),这是默认设置
推荐阅读
- forms - 如何将页面模型对象属性连接到对象列表(来自数据库)
- python - 如何使用 selenium 从 html 中提取列表,然后在 python 脚本中使用它来查找元素
- python - ElasticBeanstalk - SQLite 版本错误,如何为我的 django 项目解决此问题?
- elasticsearch - 如何使用 Dockerfile 和/或 Docker-Compose 配置 Elastic Search Ingest 管道?
- c# - 想要检索 URL 的完整路径
- python - 有什么办法可以正常退货吗?
- java - 如何在集成测试中使用 Spring Security?
- core-data - 将 NSValueTransformer 更改为 NSSecureUnarchiveFromDataTransformer 以获取核心数据警告
- javascript - useEffect 中的道具“未定义”
- angular - 订阅不会更新 Angular 中的视图