Docker容器无法访问挂载的NFS目录,如何正确传递环境变量?
问题解决:Docker容器无法访问NFS挂载文件的正确命令写法
你这条Docker命令的核心问题是挂载参数位置错误,Docker的命令格式要求所有启动选项(如--mount、-e)必须放在镜像名称之前。你把--mount放在了dockerimage:test之后,导致挂载配置根本没生效,容器内自然找不到NFS路径下的文件。
正确的命令写法
docker run -it --mount type=bind,source=/mnt,target=/mnt -e mnh="/mnt/efs/efs/crl/test1.text" -e nw="/mnt/efs/efs/crl/test2.txt" dockerimage:test
额外说明
- 先确认宿主机上
/mnt/efs/efs/crl/test1.text和test2.txt确实存在,排除宿主机本身文件缺失的问题 - 如果你已经在容器镜像的配置中定义了
/mnt的绑定挂载,无需在run命令中重复添加--mount,直接传递环境变量即可:
docker run -it -e mnh="/mnt/efs/efs/crl/test1.text" -e nw="/mnt/efs/efs/crl/test2.txt" dockerimage:test
内容的提问来源于stack exchange,提问作者user1298426
相关产品推荐
相关产品推荐

