使用python加载docker图像压缩文件,而不使用python docker模块

hmae6n7t  于 2023-02-03  发布在  Docker
关注(0)|答案(1)|浏览(131)

使用python3.10.6和docker 20.10.23,在Ubuntu 22.04上构建7155243,并尝试不使用docker模块,而仅使用subprocess来加载docker映像

def run(params):
    output = subprocess.run(params, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    if output.returncode == 0:
        print(output.stdout.decode())
    else:
        print(output.stderr.decode())

run(['sudo', 'docker', 'load', '<', 'PATH/OF/AIMAGE.zip'])
run(['sudo', 'docker', 'run', '-t', '-d', '-v', PATH_REPO + ':/root/windows-mount', 'IMAGE:v3'])

我可以看到使用sudo docker ps可以很好地加载图像

CONTAINER ID   IMAGE                COMMAND       CREATED          STATUS          PORTS     NAMES
96d1f80916ce   IMAGE:v3   "/bin/bash"   53 seconds ago   Up 52 seconds             happy_joliot

但是docker load总是输出一个错误:

"docker load" accepts no arguments.
See 'docker load --help'.

Usage:  docker load [OPTIONS]

Load an image from a tar archive or STDIN
[docerapp.py:66]

有什么建议来修正这个错误吗?

uujelgoq

uujelgoq1#

在脚本中不应使用表示Load images from STDIN的“〈”,而应使用表示Load images from a file的“-i”/“--input”。

run(['sudo', 'docker', 'load', '-i', 'PATH/OF/AIMAGE.zip'])

相关问题