当前位置: 首页 > 面试题库 >

在Jenkinsfile中运行映像时如何传递docker容器参数

潘国源
2023-03-14
问题内容

我有一个以结尾的Dockerfile

ENTRYPOINT ["node", "index.js"]
CMD ["--help"]

index.js可以采取一些不同的论点,我也需要暴露口容器,所以如果我运行手动我做这样的事情:

docker run -p 3000:3000 my_container:latest --arg1 somearg --arg2 anotherarg

如何在Jenkinsfile中执行此操作?我的测试将与此容器通信,因此它需要在运行测试之前运行。我withRun()在测试运行之前先让它运行,但我看不到如何指定--arg1 somearg --arg2 anotherarg

stage('TestMicroservice') {
    //
    // HOW DO I SPECIFY '--arg1 somearg --arg2 anotherarg'?
    //
    docker.image("my_container:latest").withRun('-p 3000:3000') {
        sh 'npm run test-microservice'
    }
}

问题答案:

您可以使用withRun的第二个参数

.withRun('-p 3000:3000', '--arg1 somearg --arg2 anotherarg')


 类似资料:
  • 问题内容: 我有一个基于Windowsservercore的Docker文件,该文件托管了ASP.net Core Web应用程序。 Docker文件中的片段 使用以下命令运行docker映像时,我试图传递将传递给exe端点的可选参数。 问题答案: 您需要拥有一个CMD https://docs.docker.com/engine/reference/builder/#/cmd 或ENTRYPOI

  • 我正在按照有关将ASP.NET MVC应用程序迁移到Windows容器的说明进行操作 我用过 而且似乎下载正确。 然后看到与前面相同的内容,但以“Service'w3svc'was started”行结尾 因此,-it命令似乎有助于让我感觉我已经成功启动了容器。 我实际上无法获得关于“-it”的帮助,因为当我运行时它没有列出

  • 问题内容: 我从dockerfile构建了Docker映像。我看到映像已成功构建,但是该如何处理?它不应该能够作为容器运行吗? 问题答案: 运行它的具体方法取决于您是否为图像指定了标签/名称。 使用名称(让我们使用 Ubuntu ): 没有名称,只需使用ID: 请参阅 Docker运行参考 以获取更多信息。

  • 我想删除这两个图像 如何走出圈子?

  • 问题内容: 我正在尝试在Ubuntu容器中下载Debian软件包,如下所示: 我懂了 我已经安装了docker,如下所示: 如何下载文件? 问题答案: 您需要先安装它。创建一个新的,并在其中安装wget: 然后,构建该图像: 最后,运行它:

  • 我的输出: 我有损失“!