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

推薦する

js は axios 制限リクエスト キューを実装します

目次背景は次のとおりです。何が起こるでしょうか?背景は次のとおりです。実際の開発では、ネットワークの...

バックアップと削除のためにリアルタイムでステートメントを検出するMySQLトリガーの考え方の詳細な説明

問題の説明: ユーザーは、テーブルに「違反」という単語を含むフィールドが時々表示されることを要求して...

Dockeにredisをインストールする方法

1. redisイメージを検索する docker 検索 redis 2. Redisイメージをダウン...

docker コンペ応募でよく使われるコマンドのまとめ

アカウントにログイン DOCKER_REGISTRY=registry.cn-hangzhou.al...

Linux LVM 論理ボリューム構成プロセス (作成、増加、削減、削除、アンインストール) の詳細な説明

Linux LVM論理ボリューム構成プロセスの詳細な説明多くの Linux ユーザーは、オペレーティ...

.html、.htm、.shtml、.shtm の違いと関連性について簡単に説明します。

ご存知のとおり、私たちが毎日閲覧する Web ページ、Web サイト、または Web ページには独自...

中国語でのNginx設定パラメータの詳細な説明(負荷分散とリバースプロキシ)

PS: 最近、nginx を詳細に紹介している <<High-Performance ...

JS はシンプルな todoList (メモ帳) 効果を実装します

メモ帳プログラムは、HTML + CSS + JavaScript の 3 つの主要なフロントエンド...

負のマージントップ値は、ラベルテキストと入力の間の垂直中央揃えの問題を解決します。

ラベルテキストと入力の垂直方向の中央揃えを調整するのは簡単ではありません。padding、verti...

MySQL の 3 つの Binlog 形式の概要と分析

1つ。 Mysql Binlog フォーマットの紹介 Mysql binlog ログには、State...

Mysqlはストアドプロシージャを通じて文字列を配列に分割します

文字列を配列に分割するには、次の 3 つの MySQL 関数を使用する必要があります。 REVERS...

Linux\Nginx 環境での仮想ドメイン名の設定とテスト検証

Nginx 仮想ドメイン名設定を使用すると、ドメイン名を購入せずに特定のドメイン名を介してローカル ...

Vueはdivホイールのズームインとズームアウトを実装します

Vue プロジェクトで div ホイールのズームインとズームアウト、ドラッグ効果、キャンバス効果に似...

テーブルの追加と削除の操作を実装する js

この記事の例では、テーブルを追加および削除するためのjsの具体的なコードを参考までに共有しています。...

Mysql 8.0.17 winx64バージョンのインストール中に発生した問題を解決する

1. my.iniファイルを手動で作成して追加する # クライアントセクション # --------...