1.画像をプルします
docker pull minio/minio
2. コンテナを作成して起動する
docker run -p 9000:9000 -p 9090:9090 \
--name minio \
-d --restart=always \
-e "MINIO_ACCESS_KEY=admin" \
-e "MINIO_SECRET_KEY=admin123" \
-v /mydata/minio/data:/data \
minio/minio server \
/data --console-address ":9090" -address ":9000"
コマンドの説明:
(1) 各行末の\はコマンドが未入力であることを示しますので、まだ実行しないでください。
(2) -p コンテナの内部ポートは、指定されたホスト ポートにバインドされます。9000 は、サービス リンクとリクエストに使用される minio サービス ポートであり、9090 は、管理インターフェイスへのアクセスに使用される minio クライアント ポートです。
(3) --name にはコンテナ名を指定します。
(4) --restart=always restart パラメータ、docker の再起動時にコンテナを自動的に再起動します。
(5) MINIO_ACCESS_KEY は 3 文字以上の minio ログイン名を設定し、MINIO_SECRET_KEY は 8 文字以上の minio ログイン パスワードを設定します。
(6) -v はマウント ディレクトリを指定します。":" の前はホスト ディレクトリ、":" の後ろはコンテナ内のディレクトリです。minio によってアップロードされたファイルは、デフォルトでコンテナ内の /data ディレクトリに保存されます。これらはホストにマウントされていません。 コンテナーを削除すると、ファイルが削除されます。ストレージ ディレクトリがホストにマウントされている場合、コンテナーを削除しても、ホストのマウント ディレクトリ内のファイルは削除されません。
(7) --console-address はクライアント ポートを指定し、-address はサーバー ポートを指定します。
3. テストアクセス
http://ip:9090 にアクセスし、ログイン ページが表示されれば、展開は成功です。
4. ストレージの移行
-v で指定するマウントは絶対パスであり、デフォルトではルート ディレクトリにマウントされます。サービスが一定期間実行されると、ファイルのアップロードに多くのリソースが消費され、他のサービスが正常に実行できなくなるため、ストレージ ディレクトリを移行する必要があります。
1. マウントディレクトリを表示する
(1) コンテナIDの表示
docker ps
図に示すように、最初の列はコンテナー ID で、2 番目の列はコンテナー名です。
(2) 取付経路の確認
docker inspect 4e8450e2f9e3 | grep Mounts -A 20
図のようにマウントされたホストディレクトリなので、次にコピーするのはこのディレクトリです。
2.ファイルをコピーする
ホストの元のストレージ パスにあるファイルを新しいストレージ パスにコピーします。
/mydata/minio/data は元のパス、/home/mydata/minio/data は新しいパスです
cp -r /mydata/minio/data /home/mydata/minio/data
3. 元のコンテナを削除し、新しいコンテナを作成して開始します
(1) コンテナを停止する
docker stop 容器ID
(2) コンテナの削除
docker rm 容器ID
(3) 新しいコンテナを作成して起動する
2番目のセクションで紹介したコマンドを使用して新しいコンテナを作成して起動しますが、マウントディレクトリをファイルが格納されている新しいディレクトリに変更することに注意してください。
コンテナーが正常に開始されたら、管理インターフェイスにログインして検証することができ、この時点で移行は完了です。