Docker: Dockerバインドマウントを使用しないでください
このドキュメントはボリュームガイドの一部です。完全なガイドはこちらからご覧いただけます:Dockerボリュームでコンテナデータを永続化する方法。
👋 Stackheroのドキュメントへようこそ!
Stackheroは、DockerクラウドCaaS (Containers as a Service) の即時利用可能なソリューションを提供し、多くの利点があります。例えば:
docker-compose upだけでコンテナを簡単に本番環境にデプロイ。- HTTPSで保護されたカスタマイズ可能なドメイン名(例: https://api.your-company.com, https://www.your-company.com, https://backoffice.your-company.com)。
- プライベートで専用のVMによる最適なパフォーマンスと強力なセキュリティ。
- ワンクリックでの簡単なアップデート。
時間を節約し、生活を簡素化:StackheroのDocker CaaSクラウドホスティング ソリューションを試して、コンテナを本番環境にデプロイするのに5分しかかかりません!
Stackheroでバインドマウントを使用しないでください。 データ損失を防ぐために常にDockerボリュームを選択してください。
バインドマウントは、StackheroホストVMのディレクトリをコンテナにリンクすることを含みます。しかし、バインドマウントに依存すると、Stackhero for Dockerインスタンスを更新する際に、この方法で保存されたすべてのデータが失われます。
バインドマウントは通常、docker runコマンドで-v /myDirectory:/mntのような構文で指定されます(先頭の/に注意)。Docker Composeファイルでは、volumes: /myDirectory:/mntとして表示されます。これらの設定を禁止しないとデータを失います。
代わりに、Dockerによって管理され、絶対パスを参照しないDockerボリュームを使用してください。
要約すると:
誤ったアプローチ:
docker run -it -v /myDirectory:/mnt alpine
正しいアプローチ:
docker volume create myVolume
docker run -it -v myVolume:/mnt alpine
Docker Composeファイルを使用する場合:
誤った設定:
services:
myService:
image: alpine
volumes:
- /myDirectory:/mnt
正しい設定:
services:
myService:
image: alpine
volumes:
- myVolume:/mnt
volumes:
myVolume:
name: myVolume