linux - Docker容器中的Docker未映射.ssh卷

标签 linux docker ssh

我试图将一个卷从我的主主机映射到一个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文件夹没有做同样的事情?

有权限问题吗?

最佳答案

不知道为什么,但是关于ive的发现在下面,也许跨容器的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

关于linux - Docker容器中的Docker未映射.ssh卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61995356/

相关文章:

php - Docker 化 Laravel 应用程序,为什么要复制源代码两次?

java - 在 Docker Toolbox 中运行 Java 应用程序时出现 SunCertPathBuilderException

linux - 后台运行命令不起作用

在 Dockerfile 中使用 SSH 进行 Git 克隆

Java 和 SSH : maintaining a connection

linux - Linux 上/proc/cpuinfo 中的 bug 是什么意思?

python - 在celery.py中导入Django App函数

c++ - 缩放到桌面特定部分的应用程序

linux - 嵌入式 C 解析服务器迁移 serverURL

python - 在 Ubuntu 上 Dockerized Django