Windows ホストと Docker コンテナに共有フォルダを設定してマウントする手順

Windows ホストと Docker コンテナに共有フォルダを設定してマウントする手順

Docker コンテナ内のプログラムは、ホスト ディレクトリ内のデータにアクセスして呼び出す必要があることが多く、そのたびにデータをインポートおよびエクスポートするのは非常に面倒で手間がかかります。

次に、ホストマシンの指定されたフォルダーを Docker コンテナに段階的にマウントします。

1. Oracle VM VirtualBoxを開きます。

2. [設定]をクリックし、左側の[共有フォルダー]をクリックします。

3. デフォルトの[c/Users \\?\c:\Users]をダブルクリックして編集します。ここでは、マウントされた共有ディレクトリとしてDドライブ下のデータを設定します。名前は変更できます。ここでは「data」に設定されています。 OKをクリック

4. VirtualBox 仮想マシンを再起動します。再起動の間に待機時間があります。

5. コンテナを作成し、共有ディレクトリにアクセスできるかどうかをテストする

centos イメージに基づいて centos-1 という名前のコンテナを作成し、-v パラメータを使用して D:\data ディレクトリをコンテナの /home ディレクトリにマウントします。

C:\Users\Administrator>docker run -d -it --name centos-1 -v /data:/home centos

9b871d35e1669640dd027a64214b3f78d9faec8b29e91f23aa717d7b7b5036ed

コンテナを入力します:

C:\Users\Administrator>docker exec -it centos-1 /bin/bash

[ルート@e952aff59318 /]#

/home ディレクトリがローカルの D:\data ディレクトリと一致しているかどうかを確認します。

[root@e952aff59318 /]# cd ホーム
[root@e952aff59318 ホーム]# ls
a.txt db ログ sslkey.log

それらが一致していれば、マウントは成功します。

追加知識: Dockerイメージファイルのインポートとエクスポート、バッチのサポート

仕事で海外のイメージをプルする必要があることが多いのですが、ネットワークの制限などにより、社内でプルするのは非常に時間がかかるため、Amazon サーバーからイメージをプルし、エクスポートしてローカルにダウンロードしてから開発環境にインポートすることに慣れています。

1. 画像IDを表示する

sudo docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
quay.io/calico/node v1.0.1 c70511a49fa1 6 週間前 257 MB
hello-world 最新 48b5124b2768 2か月前 1.84 kB
quay.io/coreos/flannel v0.7.0 63cee19df39c 2か月前 73.8 MB
quay.io/calico/cni v1.5.5 ada87b3276f3 2か月前 67.1 MB

2. パッケージ化するイメージを選択し、パッケージ化コマンドを実行します。

sudo docker save -o quay.io-calico-node-1.tar quay.io/calico/node

エクスポートファイルxxx.tarが現在のディレクトリに生成され、このファイルはローカルにダウンロードされます。

3. 上記のパッケージ化されたイメージを開発環境にインポートする

docker load -i quay.io-calico-node-1.tar

0a43edc59c00: レイヤー 27.59 MB/27.59 MB を読み込んでいます
69a5574b2581: レイヤー 3.636 MB/3.636 MB を読み込んでいます
fb0933709f36: レイヤー 3.913 MB/3.913 MB を読み込んでいます
7384abd120f5: レイヤー 3.859 MB/3.859 MB を読み込んでいます
e34911610de0: レイヤーをロード中 27.06 MB/27.06 MB
d6ec327c8cbe: レイヤー 6.656 kB/6.656 kB を読み込んでいます
読み込まれた画像 ID: sha256:ada87b3276f307a6b1b1ada15820b6c9842fd839fe5cc46ad5db8af81f7fd271

この時点で、ローカルイメージを使用できます。

4. 画像の一括インポートおよびエクスポートツール

私のgithubにアクセスして

Windows ホストと Docker コンテナで共有フォルダーを設定してマウントする上記の手順は、エディターが皆さんと共有する内容のすべてです。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

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

<<:  HTML+CSSは、要素の位置までスクロールして読み込みアニメーション効果を表示します。

>>:  州と市町村の連携を簡単に実現するJavaScript

推薦する

MySQL でテーブルスペースの断片化を解消する詳細な例

MySQL でテーブルスペースの断片化を解消する詳細な例断片化の原因(1)テーブルのストレージは断片...

Windows で MySQL 5.7.17 圧縮バージョンをインストールするときに遭遇する落とし穴

まず、Windows 64 ビット用の最新の MySQL 5.7.17 コミュニティ圧縮バージョンを...

VMware インストール後に仮想ネットワーク カードが表示されない問題について

1 問題の説明: 1.1 Windows 10 に VMware を初めてインストールする場合、また...

Vue フィルター、ライフサイクル関数、vue-resource の簡単な紹介

1. フィルター例: <!DOCTYPE html> <html lang=&qu...

SpringBoot と Vue の相互作用におけるクロスドメイン問題の解決策

目次ブラウザ同一生成元ポリシー1. VUEフロントエンド構成プロキシはクロスドメインの問題を解決しま...

docker の run/cmd/entrypoint の違いの詳細な説明

Dockerfile では、run、cmd、entrypoint はすべてコマンドを実行するために使...

シェルスクリプトを使用したMySQLデータベースの自動バックアップ

シェルスクリプトを使用したMySQLデータベースの自動バックアップデータベースを頻繁にバックアップす...

CSSは2つの要素をブレンドする効果(スティッキー効果)を実現します。

数年前、Taobaoのモバイル版の左下隅に面白い丸いボタンがあったことを覚えています。それをクリック...

Axios はリクエストをキャンセルし、重複リクエストを回避します

目次起源現状リクエストをキャンセル cancelTokenリクエスト方法の変更重複したリクエストを避...

Vue3における非親子コンポーネント通信の詳細な説明

目次最初の方法アプリ.vueホーム.vueホームコンテンツ.vueデータの応答性レスポンシブプロパテ...

MySQL で置換操作を使用したときにデータ損失が発生する問題の解決策

序文同社の開発者は、データの更新時に replace into ステートメントを使用していました。不...

Docker で MySQL サービスをデプロイする方法と、遭遇する落とし穴

最近、ポーターを学んでいます。こんなに強力なものがあったなんて、今まで知らなかった気がします。クラス...

CentOS7にMySQL 8.0.26をインストールする手順

1. まず、お使いのマシンに応じて、MySQL 公式サイトから対応するデータベースをダウンロードしま...

Dockerコンテナ相互接続の予備的な実践についての簡単な説明

1. Dockerコンテナ間の相互接続Docker は現在、軽量の仮想化ソリューションとなっています...