如何在另一台机器上测试 Docker 容器?

How to test Docker container on another machine?

我写了一个简单的脚本如下:

#main.py

def test_function():
    val = input('please enter a number')
    for i in range(int(val)):
        print (i)

我对它进行了 docker 化并将其放入容器中,然后 运行 从那里开始。一切正常。

我有另一台机器 Linux OS。我怎样才能在那里测试这个容器? 我需要简单地复制粘贴还是什么?

您需要在另一台机器上安装 Docker,然后将映像推送到 docker 注册表(例如 dockerhub / AWS ECR)。

我使用 ECR。您需要创建一个注册表,然后通过 运行ning docker tag <source image> <url of the registry> 使用注册表的 url 标记您的 docker 图像, 然后 运行 docker push <image name>

并从另一台机器上拉取它,运行 docker pull <url of the rigistry>

或者,您只需在另一台机器上安装 docker,将 docker 文件复制到那里,然后 运行 docker build -t <image name> /path/to/file

有几种抽象,您应该使用它们:

  • 语言抽象(python 在你的情况下)
  • os 抽象(docker 在你的情况下)
  • api 抽象(在你的情况下是标准输出)

当谈到像您这样的简单函数时,没有理由对 docker 化的应用程序进行两次测试,因为 docker 很好地处理了 os 抽象,并使您的容器环境独立(most 次).

对于您的函数,您应该将输出从 stdout 更改为其他来源,并测试数据,您将通过单元测试将其放在那里。

您应该使用相同的语言和库(如 PyTest)。