我正在尝试在Jenkins管道中运行docker容器。
我的Jenkins文件中有以下内容:
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
命令仅用于测试,但是当它被执行时,它会列出我的github存储库的文件和文件夹,而不是denvazh/gatling
容器中的文件。这是为什么?我以为docker run -it [...]
命令会打开容器,以便可以在其中运行命令吗?
=====
另外,如何运行容器并让它运行,而不在其中执行任何命令? (在Jenkins Pipeline ofc中)
我想运行:docker run -d -p 8080:8080 -t [my_container]
并在端口8080上访问它。我该怎么做...?
答案 0 :(得分:2)
如果有人有相同或类似的问题,请回答:
使用docker exec [name of container]
命令,并在容器内运行任何终端命令,添加/bin/bash -c "[command]"
为了能够从第二个容器访问在任何端口上运行的容器/应用程序,在启动第二个容器时,使用--net=host
参数