簡體   English   中英

Docker 容器內的 Docker 未映射。ssh 卷

[英]Docker within Docker container not mapping .ssh volume

我試圖將我的主主機中的一個卷 map 放入一個 docker 容器中,然后創建另一個 docker 容器。

我的第一個容器是按照以下內容創建的:

docker run --rm -it \
-e JOB="release" \
-e LOG_FOLDER="$logDirectory" \
-v "$logDirectory":"$logDirectory" \
-e TEMP_FOLDER="$tempFolder" \
-v ~/.ssh:/root/.ssh \
-v "$tempFolder":"$tempFolder" \
-v /var/run/docker.sock:/var/run/docker.sock \
release

上面的效果很好,當我 /bin/bash 進入這個容器時,我可以看到 .ssh 文件夾已映射並顯示來自我的主機的內容。

但是當我嘗試在這個容器中創建另一個 docker 容器時,使用以下內容:

docker run --rm -it \
-e JOB=summary \
-e TEMP_FOLDER="$TEMP_FOLDER" \
-v "$TEMP_FOLDER":"$TEMP_FOLDER" \
-v ~/.ssh:/root/.ssh \
-v /var/run/docker.sock:/var/run/docker.sock \
summary /bin/bash

容器創建沒有問題,但 .ssh 文件夾內容尚未映射。 但是 TEMP_FOLDER 已正確映射並顯示來自主機的內容,我不知道為什么 .ssh 文件夾不做同樣的事情?

是不是權限問題?

不知道為什么,但我發現的解決方法如下,也許 root 用戶在容器中不一樣。

docker run --rm -it \
-e JOB="release" \
-e LOG_FOLDER="$logDirectory" \
-v "$logDirectory":"$logDirectory" \
-e TEMP_FOLDER="$tempFolder" \
-v ~/.ssh:/root/.ssh \
-v ~/.ssh:/home/user/.ssh \
-v /home/user/.ssh:/root/.ssh \
-v "$tempFolder":"$tempFolder" \
-v /var/run/docker.sock:/var/run/docker.sock \
release
docker run --rm -it \
-e JOB=summary \
-e TEMP_FOLDER="$TEMP_FOLDER" \
-v "$TEMP_FOLDER":"$TEMP_FOLDER" \
-v /home/user/.ssh:/root/.ssh \
-v /var/run/docker.sock:/var/run/docker.sock \
summary /bin/bash

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM