dockerでマウントされたディレクトリが読み書きできない問題を解決する

dockerでマウントされたディレクトリが読み書きできない問題を解決する

次のコマンドを使用してコンテナを作成し、ローカルの /home/dock/Downloads ディレクトリをコンテナ内の /usr/Downloads にマウントします。

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

Centosで作成すると、以下の問題が発生します

root@637fe9ea94f0:/usr/ダウンロード# ls
ls: ディレクトリ '.' を開けません: 権限が拒否されました

解決:

理由は、CentOS7 のセキュリティ モジュール selinux によって権限が無効になっているためです。

マウントされたディレクトリに権限がない問題を解決するには、いくつかの方法があります。

1. コンテナを実行するときに、コンテナに権限を追加し、--privileged=true パラメータを追加します。

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

2. selinuxを一時的にオフにします。

強制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

ホストのワークスペース フォルダーはコンテナーの /root/workspace フォルダーにマウントされていますが、ホスト上のワークスペース フォルダーにデータを書き込むことはできません。現時点ではフォルダの所有者はルートであるためです。

次のコマンドを実行できます:

sudo chown -R $USER フォルダの場所 (/workspace)

フォルダーは読み取りと書き込みが可能です。ただし、再起動後に上記のコマンドを再実行する必要があります。

上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。

以下もご興味があるかもしれません:
  • Docker コンテナのマウントディレクトリ操作の表示
  • docker run で ./ 相対パスを使用してファイルまたはディレクトリをマウントできない問題を解決する
  • DockerコンテナにNFS共有ディレクトリをマウントする実装
  • Docker - コンテナマウントディレクトリを変更する3つの方法のまとめ
  • Dockerはローカルディレクトリとデータボリュームコンテナ操作をマウントします
  • Dockerはelasticsearchイメージを起動し、ディレクトリをマウントした後にエラーを解決します
  • docker windows10共有ディレクトリのマウント失敗の解決策

<<:  JS に依存せずにレスポンシブ レイアウトを実現する CSS3 モバイル vw+rem メソッド

>>:  きちんとしたHTMLマークアップを使用してページを構築します

推薦する

MySQL ファントムリードとその排除方法の詳細な説明

目次トランザクション分離レベルファントムリーディングとは何ですか?ファントムリードを排除する方法要約...

VMWare Linux MySQL 5.7.13 のインストールと設定のチュートリアル

この記事では、参考までにVMWare LinuxにMySQL 5.7.13をインストールするチュート...

JSはBaidu Newsナビゲーションバーの効果を実現

この記事では、Baidu News Navigation Barの効果を実現するための具体的なJSコ...

localStorageの有効期限を設定するいくつかの方法

目次問題の説明1. 基本的な解決策2. 中間的な解決策3. 高度なソリューション4. ハードコアソリ...

未来志向の総合的なウェブデザイン:プログレッシブエンハンスメント

<br />原文: プログレッシブエンハンスメントを理解するアーロン・ガスタフソン翻訳:...

CSS フレキシブルレイアウト FLEX、メディアクエリ、モバイルクリックイベントの実装

フレックスレイアウト定義: Flexレイアウトの要素は、 Flex 、または略して「コンテナー」と呼...

MySQL インデックスの原理と使用例の分析

この記事では、例を使用して MySQL インデックスの原理と使用方法を説明します。ご参考までに、詳細...

MySQL 5.7.21 winx64 グリーンバージョンのインストールと設定方法のグラフィックチュートリアル

この記事ではMySQL 5.7.21のインストールと設定方法を記録しています。具体的な内容は以下のと...

HTML における DOM 要素のスクロールバースクロール制御の詳細な説明

dom要素に新しい子要素を追加し、新しく追加された新しい要素がコンテナーのスコープを超えた場合は、次...

Navicatを使用してクラウドサーバーデータベースにリモート接続する方法

秘密鍵を開かずにリモート サーバーのデータベースに接続するのは非常に便利です。新しい接続でデータを入...

32 典型的な列/グリッドベースのウェブサイト

列ベースの Web デザインのインスピレーションをお探しの場合は、32 個のクラシックな列/グリッド...

mysql5.7 でユーザーの初期パスワードを変更する方法

ユーザーが初めて MySQL データベースをインストールするとき、初期のルート パスワードを変更する...

Spring環境を構成するためのDocker-composeの手順

最近、メンバーがテストできるようにプロジェクトをパッケージ化する必要がありますが、パッケージ化された...

Linux は n 日前のログとサンプルコマンドを自動的に削除します

1. ファイル削除コマンド:対応するディレクトリを検索します -mtime + 日数 -name &...