Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker “怎么做?”;码头装卸货;对于多个tar文件_Docker_Docker Compose - Fatal编程技术网

Docker “怎么做?”;码头装卸货;对于多个tar文件

Docker “怎么做?”;码头装卸货;对于多个tar文件,docker,docker-compose,Docker,Docker Compose,我有一个.tar docker图像文件列表,我尝试过使用下面的命令加载docker图像 docker load-i*.tar docker加载-i alldockerimages.tar 其中alldockerimages.tar包含所有单独的tar文件 让我知道如何加载多个tar文件。首先,我尝试使用您首先描述的glob表达式方法: # download some images to play with docker pull alpine docker pull nginx:alpine

我有一个.tar docker图像文件列表,我尝试过使用下面的命令加载docker图像

  • docker load-i*.tar
  • docker加载-i alldockerimages.tar
  • 其中
    alldockerimages.tar
    包含所有单独的tar文件


    让我知道如何加载多个tar文件。

    首先,我尝试使用您首先描述的glob表达式方法:

    # download some images to play with
    docker pull alpine
    docker pull nginx:alpine
    
    # stream the images to disk as tarballs
    docker save alpine > alpine.tar
    docker save nginx:alpine > nginx.tar
    
    # delete the images so we can attempt to load them from scratch
    docker rmi alpine nginx:alpine
    
    # issue the load command to try and load all images at once
    cat *.tar | docker load
    
    不幸的是,这只会导致加载
    alpine.tar
    。我(可能是错误的)理解是glob表达式将被扩展,并最终导致对glob表达式扩展到的每个文件运行
    docker load
    命令

    因此,必须使用shell
    for
    循环按顺序加载所有tarball:

    for f in *.tar; do
        cat $f | docker load
    done
    

    使用中描述的脚本保存或加载图像。就你的情况来说

    ./save-load-docker-images.sh load -d <directory-location>
    
    /save-load-docker-images.sh load-d
    
    使用xargs:

    ls-1*.tar | xargs--如果为空则不运行-L 1 docker load-i


    (以前的版本取消了-i标记为“docker load”。

    我使用以下命令:
    mkdir-p myFolder&&tar xvf BigFileWithManyImages.tar-C$&&f in$/images/*.tar.gz;do docker load-i$f;完成1
    在末尾添加一个
    -i
    ,这样就可以了。另外,如果需要以root用户身份运行docker,则在docker之前添加
    sudo
    。这就像一个符咒