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マークアップを使用してページを構築します

推薦する

固定ボトムコンポーネントを実装した Vue の例

目次【効果】 【実施方法】 【効果】 【実施方法】 <テンプレート> <div i...

IIS 7.5はURL書き換えモジュールを使用してWebページのリダイレクトを実現します。

Apache では構成ファイルで Web ページまたは Web サイトの書き換えを簡単に設定できる...

LinuxでのDNSサーバーの設定の詳細な説明

1. DNSサーバーの概念インターネットでの通信には IP アドレスの助けが必要ですが、数字に対する...

Linux システムによって報告される xfs_vm_releasepage 警告問題に対処する方法

問題の説明最近、いくつかのマシンで、一日のさまざまな時間に次の警告メッセージが表示されました。 3月...

非常に詳細な Vue-Router のステップバイステップのチュートリアル

目次1. ルータビュー2. ルータリンク3. リダイレクト4. ルーティングエイリアス5. ルーティ...

Web デザイン: Web ミュージックの実装テクニック

<br />Web ページに音楽を挿入する場合、サフィックスに応じて異なるコードを記述す...

MySQL インデックス プッシュダウンを 5 分で理解する

目次インデックス プッシュダウンとは何ですか?インデックスプッシュダウン最適化の原理インデックスプッ...

divは、自動入力スタイルをブロックする入力ボックスとして入力を使用せずにコンテンツを入力できます。

今日、私は公開用の動的なウィンドウ スタイルを設計しましたが、マウスで入力をクリックしたときにブラウ...

Docker による Oracle 11g イメージ構成のプルに関する詳細なチュートリアル

さっそくAlibaba の oracle11g イメージをプルして構成する docker の記録を開...

MySQL無料インストール版を解凍した後にパスワードが見つからない問題を解決する方法

1. mysql-8.0.21-winx64を解凍する2. 環境変数を設定し、アドレスをbinフォル...

HTML における DTD の使用法の概要

DTD はマークアップの文法規則のセットです。これは XML 1.0 仕様の一部であり、HTML フ...

HTML 言語百科事典

123WordPress.com-HTML noscriptオブジェクトolオプションPパラントプレ...

docker-swarm をベースにした継続的インテグレーション クラスタ サービスの構築の詳細な説明

序文この記事は私自身の製作過程の簡単な記録です。練習中に質問があれば、一緒に話し合うことができます。...

パフォーマンス負荷診断にMySQLシステムデータベースを使用する方法

ある達人がかつて、自分の妻のことを知るのと同じくらい、自分が管理するデータベースのことを知るべきだと...

ウォーターフォールフローレイアウトを実装する3つの方法

序文今日、Xianyuを閲覧していたとき、各行の高さが同じではないことに気付きました。調べてみると、...