我爲我的開發環境使用了docker:我有一個開發圖像,並將我的源文件裝入爲一個卷。如何從另一個容器啓動兄弟容器卷?
但是之後我想在持續集成服務器(gitlab ci)上做同樣的事情,我仔細閱讀docker doc對https://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/的引用,但將docker的unix套接字綁定到docker客戶端容器的解決方案使得它。所以基本上我的問題是你將如何解決這個問題(鑑於我在碼頭的ci服務器/亞軍):我需要從容器(gitlab亞軍)運行以下命令。
$ git clone ... my-sources && cd my-sources
$ docker run my-dev-image -v $PWD:$PWD -w $PWD gcc main.c
因爲,很顯然,容量從碼頭工人的「原生」的主機所,而不是當前的容器。
工作,所以你不放棄說「使用DIND」 :-P?主要缺點是這個解決方案在CI環境下不再透明:我需要更改'docker run'命令,並添加'--volumes-ci-server'。在使用'dind'或本地CI服務器(即docker外部)時,可以使CI服務器下的命令具有100%的透明性/可移植性。 –