解决docker挂载的目录无法读写问题

 更新时间:2021年03月18日 15:08:31   作者:double12gzh  
这篇文章主要介绍了解决docker挂载的目录无法读写问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

使用下面的命令可以创建一个容器并且把本地的/home/dock/Downloads目录挂载到容器中的/usr/Downloads中

[root@docker ~]# docker run -it -v /home/dock/Downloads:/usr/Downloads ubuntu /bin/bash

在Centos上创建完后,会出现如下问题

root@637fe9ea94f0:/usr/Downloads# ls
ls: cannot open directory '.': Permission denied

解决办法:

原因是CentOS7中的安全模块selinux把权限禁掉了,

有以下几种方式解决挂载的目录没有权限的问题:

1.在运行容器的时候,给容器加特权,及加上 --privileged=true 参数:

docker run -i -t -v /soft:/soft --privileged=true 637fe9ea94f0 /bin/bash

2.临时关闭selinux:

setenforce 0

3.添加selinux规则,改变要挂载的目录的安全性文本

补充:docker挂载文件夹后不能访问,没有权限

输入docker run 后挂载的文件夹不能访问,没有权限

例如:

sudo nvidia-docker run -p 8090:8888 -p 8091:80 -p 8092:6666 --name=pytorch0.4 -v ~/workspace:/root/workspace -i --shm-size 31G -t dsksd/pytorch:0.4.1 /bin/bash

将主机的workspace文件夹与容器的/root/workspace文件夹相挂载,但是在主机上不能向workspace文件夹中写入数据。因为此时文件夹的拥有者为root。

可以执行命令:

sudo chown -R $USER 文件夹位置(/workspace)

文件夹就可以进行读写了。但是重启后需要重新执行上述命令。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • Docker镜像的commit操作示例及作用

    Docker镜像的commit操作示例及作用

    这篇文章主要为大家介绍了Docker镜像的commit操作示例及作用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • 基于docker-compose构建Mongodb副本集的示例详解

    基于docker-compose构建Mongodb副本集的示例详解

    副本集是 MongoDB 高可用性和数据安全性策略的基础,适用于对数据安全性和服务可用性有较高要求的场景,本文给大家介绍了如何基于docker-compose构建Mongodb副本集,文中通过代码示例给大家介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • Docker容器Container镜像Image如何存储详解

    Docker容器Container镜像Image如何存储详解

    本文主要介绍Docker容器(Container)和镜像(Image)是如何进行数据存储详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • Ubuntu 16.04安装使用Docker教程

    Ubuntu 16.04安装使用Docker教程

    本篇文章主要介绍了Ubuntu 16.04安装使用Docker教程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • 解决docker 容器设置中文语言包出现的问题

    解决docker 容器设置中文语言包出现的问题

    这篇文章主要介绍了解决docker 容器设置中文语言包出现的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • docker使用volume和bind mount的区别及说明

    docker使用volume和bind mount的区别及说明

    文章介绍了Docker中Volume和BindMount两种数据持久化机制的区别,Volume由Docker管理,支持数据共享和加密,而BindMount将宿主机上的文件或目录直接挂载到容器中,性能较好但依赖于宿主机的文件系统结构
    2024-11-11
  • 详解Docker镜像与容器的常见操作

    详解Docker镜像与容器的常见操作

    这篇文章主要介绍了详解Docker镜像与容器的常见操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Docker安装MongoDB并使用Navicat连接的操作方法

    Docker安装MongoDB并使用Navicat连接的操作方法

    MongoDB是一个基于分布式文件存储的数据库,MongoDB最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,这篇文章主要介绍了Docker安装MongoDB并使用Navicat连接,需要的朋友可以参考下
    2022-10-10
  • Docker如何拉取oracle11g镜像

    Docker如何拉取oracle11g镜像

    这篇文章主要介绍了Docker如何拉取oracle11g镜像问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • docker 镜像加速CentOS7详细介绍

    docker 镜像加速CentOS7详细介绍

    这篇文章主要介绍了docker 镜像加速CentOS7详细介绍的相关资料,需要的朋友可以参考下
    2016-12-12

最新评论