2017-05-27 98 views
1

我有gitlab ci和gitlab容器。一個項目使用docker執行程序註冊到gitlab runner 。一切都好。我將特權模式設置爲true。有關於碼頭運行的標誌,如卷份額,特權模式,圖像,服務,鏈接等。但我找不到有關端口公開的runner.dockers部分的標誌。我的目標是運行帶有容器的管道可以交流其端口。Gitlab CI Runner Docker執行器公開端口

是否有可能用gitlab runner ci來實現這個問題。

回答

0

通常這就是服務的目的。你需要一個你想公開端口的容器,並將其定義爲服務。這樣,就沒有暴露的端口,但是可以使用服務鏈接進行集裝箱間通信。這對於Docker執行者有效,在Kubernetes執行者中,所有服務都是該Pod的一部分,因此可直接在localhost上獲得。換句話說,如果您需要一個運行在其默認端口5432上的構建作業的PostgreSQL,那麼您只需將postgres:latest作爲您的工作服務啓動即可。然後,您可以通過postgres:5432與Docker執行程序和localhost:5432與Kubernetes執行程序進行通信。

如果服務不適合您的用例,您可能需要擴展您的問題以瞭解它們在哪裏失敗,可能會有其他答案。