【问题标题】:Docker Run upload failed - upload failed because zip_path was not foundDocker 运行上传失败 - 上传失败,因为找不到 zip_path
【发布时间】:2021-08-19 02:10:11
【问题描述】:

我有一个项目要使用pyats xpresso 仪表板pyats xpresso 进行一些网络测试

我使用 Docker 镜像ciscotestautomation/pyats 进行测试,其中包含 Dockerfile:

Dockerfile for creating pyats-docker

一个 entrypoint.sh 文件包含: pyats docker-entrypoint.sh

问题是: 我在 ubuntu docker 主机中创建了一个卷,用于将一些测试文件上传到 docker 容器“pyats”。

我收到以下错误详细信息:

“运行上传失败 - 上传失败,因为找不到 zip_path。”

运行控制台日志为:

[入口点] 启动 pyATS Docker Image ...

[入口点]工作区目录:/pyats

[入口点]激活工作区

/entrypoint.sh:第 11 行:/pyats/bin/activate:没有这样的文件或 目录

[入口点] 启动 pyATS Docker Image ...

[入口点]工作区目录:/pyats

[入口点]激活工作区

/entrypoint.sh:第 11 行:/pyats/bin/activate:没有这样的文件或 目录

/entrypoint.sh:第 11 行:/pyats/bin/activate:没有这样的文件或 目录

[入口点] 启动 pyATS Docker Image ...

[入口点]工作区目录:/pyats

[入口点]激活工作区

如何解决这个问题,我也是 docker 和 pyats xpresso 的新手。如果我没记错的话,我认为问题出在 docker 卷上。

【问题讨论】:

    标签: docker


    【解决方案1】:

    正如您在Dockerfile 中看到的,当创建 docker 映像时,Python3 virtualenv 已在您的 docker 映像内的 /pyats 目录中初始化。该目录包含一些文件夹和文件。

    当您创建新卷并将其附加到/pyats 时,通过Dockerfile 安装在 docker 映像内的/pyats 目录中的所有文件和文件夹都将被新卷的内容覆盖。这就是为什么你会得到:

    /entrypoint.sh: line 11: /pyats/bin/activate: No such file or directory
    

    为了使其运行,您可以在不将任何卷附加到 /pyats 的情况下运行 docker 映像。

    但是,如果您仍然需要在 /pyats 中保留永久文件,同时能够从您的主机修改它,您可以将您的卷附加到 /pyats 中的一个新文件夹,如下所示:

    创建您的主机文件目录并将您的文件放入其中:

    mkdir myfiledir
    echo "print('hello there!')" > myfiledir/testfile.py
    

    将你的主机文件目录挂载到你的 docker 容器内的/pyats/myfiles,你就可以访问你的文件了:

    docker run -it -v $(pwd)/myfiledir:/pyats/myfiles ciscotestautomation/pyats:latest 
    [Entrypoint] Starting pyATS Docker Image ...
    [Entrypoint] Workspace Directory: /pyats
    [Entrypoint] Activating workspace
    Python 3.6.14 (default, Jun 29 2021, 21:29:56) 
    [GCC 8.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> exec(open("myfiles/testfile.py").read())
    hello there!
    >>> exit()
    

    请注意,您可以根据需要将myfiles 更改为其他文件夹名称,但不能将binlibusers 更改为其他文件夹名称,因为这些目录已经存在于/pyats

    ls -l /pyats
    total 16
    drwxr-xr-x 3 root root 4096 Jul 29 14:42 bin
    drwxr-xr-x 3 root root 4096 Jul 29 14:42 lib
    -rw-r--r-- 1 root root  225 Jul 29 14:42 pyvenv.cfg
    drwxrwxr-x 2 root root 4096 Jul 29 14:43 users
    

    【讨论】:

    • 非常感谢,您对我理解 docker volume 帮助很大。但在 Xpresso 仪表板 GUI 中,我无法处理这些错误,现在又出现了另一个错误。
    猜你喜欢
    • 2013-01-18
    • 2018-07-16
    • 2016-10-04
    • 2022-06-11
    • 1970-01-01
    • 1970-01-01
    • 2018-10-07
    • 2016-05-22
    • 2017-04-12
    相关资源
    最近更新 更多