我试图将一个卷从我的主主机映射到一个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/