2017-02-14 104 views
1

需要編寫一個將docker安裝在container-a中的碼頭文件。因爲container-a需要執行一個docker命令到容器-b,它與容器-a一起運行。 我的理解是在編寫Dockerfile時不應該使用「sudo」。 但是我陷入了困境 - 我分配給碼頭組的用戶?當您運行docker exec -it時,您將自動生成root用戶。從碼頭集裝箱運行碼頭命令

sudo usermod -a -G docker whatuser?

同時,(我試圖手動從這個裏面容器一個,看它是否甚至還可以),你必須做一個newgrp docker以激活更改到組。任何時候我這樣做,當我沒有sudo'ed時,結束sudo'ing。那有意義嗎?症狀是 - 我去容器exit,我不得不退出兩次(就好像我改變了用戶)。

我在做什麼錯?

回答

2

如果你想彼此並列(內部容器而非容器),運行的容器,應安裝在主機系統的碼頭工人插座和執行命令到其他容器那樣:

docker run --name containera \ 
     -v /var/run/docker.sock:/var/run/docker.sock \ 
     yourimage 

隨着碼頭插座已安裝,您可以控制主機系統上的碼頭。

+0

是。就是這樣。您需要做兩件事:1)從主機系統中安裝docker套接字,2)在容器中安裝docker。但是現在你不必擔心其他事情(設置/以用戶身份運行等),因爲主機將爲你處理。涼。非常感謝。 – Bear