我試圖在詹金斯管道中運行碼頭集裝箱。詹金斯碼頭工人 - 運行一個容器,執行shell腳本等
我在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
命令在那裏只是爲了測試,但是當它執行它列出文件和我的github存儲庫的文件夾,而不是denvazh/gatling
容器內的文件。這是爲什麼?我認爲docker run -it [...]
命令會打開容器,以便可以在其中運行命令?
================
而且,我怎麼運行的容器,只是有它運行,而不執行裏面的任何命令? (在Jenkins Pipeline ofc)
我想運行:docker run -d -p 8080:8080 -t [my_container]
並在端口8080上訪問它。我該怎麼做......?
問題出在您的bash腳本中。只有「/ bin/bash」命令在您的docker中執行。下面的行不會自動在您剛纔調用的bin/bash內部執行。 –
我的Jenkins文件中經常有多個'docker-compose run ..... some command ...'在彼此之後。 –