我剛剛紡了一個新鮮的Ubuntu實例,我已經安裝了碼頭工人泊塢窗泊塢窗大廈圖片:用戶權限/主機問題
docker --version
報道:泊塢版本1.7.1,建立786b29d
然後我跑了設置命令一個CI/CD管道:
docker run -d -t -p 8153:8153 gocd/gocd-server
- 對於代理,我開始,如下所示:
docker run -d --privileged=true -ti -e GO_SERVER=<my_server_ip_address> -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/bin/docker gocd/gocd-agent
兩個容器都按預期運行。 docker ps
報告如下:
25a7686b8653 gocd/gocd-server "/sbin/my_init" 6 seconds ago Up 5 seconds 0.0.0.0:8153->8153/tcp, 8154/tcp
ec1ede694844 gocd/gocd-agent "/sbin/my_init" 5 second s ago Up 5 seconds
當我訪問gocd-agent
,使用以下命令:
sudo docker exec -i -t ec1ede694844 bash
我帶入劑。一旦進入,我可以使用像docker images
這樣的命令,沒有任何問題。
go-agent
的要求我們用一個go
用戶,因此,使用上述相同的端子/容器bash中,I型:su go
這使我到容器作爲go
用戶([email protected]
)。
當我嘗試使用如下命令docker images
或docker ps
,我收到以下錯誤信息:
Get http:///var/run/docker.sock/v1.19/images/json: dial unix /var/run/docker.sock: permission denied. Are you trying to connect to a TLS-enabled daemon without TLS?
的作品是標準的docker
命令,這使我的可能列表中唯一的命令docker命令,我可以使用。但是,在使用go
用戶時,這些命令都不起作用。
有沒有辦法將容器中的權限傳遞給用戶帳戶?
或者,有什麼辦法可以讓我重置docker.sock
,這樣它可以讓我的go
用戶運行如docker images
這樣的命令?
任何幫助,將不勝感激。
謝謝
沒有嘗試這些碼頭圖像,但是當您將代理連接到gocd服務器時,爲什麼不使用'--link'選項? go cd服務器IP可能會不斷變化。 – BMW
這是訪問unix套接字('/ var/run/docker.sock')的權限錯誤。它與地址無關。 – larsks