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上访问它。我该怎么做…?
如果有人有相同或相似的问题,这里是答案:
-
使用
docker exec [name of container]
命令,并在容器内运行任何terminal命令,添加/bin/bash -c "[command]"
-
为了能够从第二个容器访问在任何端口上运行的容器/应用程序,启动第二个容器时使用
--net=host
参数