jenkinsdocker工人 – 运行一个容器,执行shell脚本等

我试图在jenkinspipe道中运行docker集装箱。

我在我的Jenkinsfile中有以下内容:

stage('test') { steps { script { parallel ( "gatling" : { sh 'bash ./test-gatling.sh' }, "python" : { sh 'bash ./test-python.sh' }) } } } 

test-gatling.sh我有这个:

 #!/bin/bash docker cp RecordedSimulation.scala denvazh/gatling:/RecordedSimulation.scala docker run -it -m denvazh/gatling /bin/bash ls ./gatling.sh 

ls命令只是为了testing,但是当它被执行时,它会列出我的github版本库的文件和文件夹,而不是denvazh/gatling容器中的文件。 这是为什么? 我以为docker run -it [...]命令会打开容器,以便命令可以在里面运行?

================

另外,我如何运行一个容器,只是让它运行,而不执行任何命令呢? (在Jenkinspipe道ofc)

我想要运行: docker run -d -p 8080:8080 -t [my_container]并在端口8080上访问它。我该怎么做…?

如果有人有相同或相似的问题,这里是答案:

  1. 使用docker exec [name of container]命令,并在容器内运行任何terminal命令,添加/bin/bash -c "[command]"

  2. 为了能够从第二个容器访问在任何端口上运行的容器/应用程序,启动第二个容器时使用--net=host参数