よくたずねられる質問(FAQ)
読む時間の目安: 5 分
全般
Docker Desktop のシステム要件は何ですか
Docker Desktop のシステム要件については、Docker Desktop for Mac システム要件 または Docker Desktop for Windows システム要件 を参照してください。
Where does Docker Desktop get installed on my machine?
By default, Docker Desktop is installed at the following location:
- On Mac:
/Applications/Docker.app
- On Windows:
C:\Program Files\Docker\Docker
Docker Desktop を利用するには支払いが必要ですか
Docker Desktop は、小規模なビジネス向け(従業員 250名未満、かつ収益 1 千万ドル未満)、個人利用、教育目的、非商用のオープンソースプロジェクトに対しては、無償提供が継続されます。 大規模なエンタープライズ向けのプロフェッショナル利用に対しては、有償サブスクリプションが必要です。 この条件の適用開始日は 2021 年 8 月31 日です。 Docker Deskop の利用に有償サブスクリプションが必要とされるものであっても、 2022 年 1 月 31 日までは、猶予期間が設けられています。 Docker Desktop をダウンロードしてインストールする際には、Docker サブスクリプションサービス契約 へ合意するかどうかが確認されます。
ブログ や FAQ を読んで、Docker Desktop を利用する各企業において、どのような影響が発生するのかを確認してください。 Docker Desktop ライセンスの詳細は、Docker Desktop ライセンス契約 を参照してください。
Docker Desktop はオフラインでも利用できますか
はい。 Docker Desktop はオフラインでも利用できます。 ただしインターネット接続がアクティブであることを必要とする機能は利用できません。 さらにサインインを必要とする機能も、Docker Desktop がオフラインであったり、外部とのアクセスが厳しい環境であったりすると、利用できなくなります。 例として以下のものがあります。
- アプリ内に含まれている クイックスタートガイド。
- Docker Hub との間でのイメージのプルとプッシュ。
- イメージアクセス管理。
- ぜい弱性スキャン。
- Docker ダッシュボード 内のリモートイメージ参照。
- Dev 環境 の設定。
- Buildkit を使った Docker ビルド。
これは BuildKit を無効化すれば回避できます。
DOCKER_BUILDKIT=0 docker build .
とすることで BuildKit は無効化されます。 - Compose ACI and ECS 統合を通じての、クラウドへのアプリのデプロイ。
- Kubernetes (Kubernetes を初めて有効化した際にはイメージがダウンロードされます。)
- アップデート確認 (手動および自動)。
- アプリ内の診断処理 (自己診断ツール があります)。
- 今週のメモ (tip)。
- 利用統計の送信。Sending usage statistics
試験的機能とは何ですか
試験的な機能は、将来の製品に搭載される機能をいち早く試すことができるものです。 ただし現段階でのこの機能は、テストとフィードバックのためだけを意図しています。 したがってリリース時には予告なく変更される場合があり、将来のリリースでは完全に削除されることもあります。 試験的な機能は本番環境では利用しないでください。 Docker ではこの試験的機能に対するサポートは行っていません。
Docker CLI における現時点での試験的機能については Docker CLI 試験的機能 の一覧を参照してください。
Docker Desktop の問題を調べて解決する情報はどこにありますか
問題を調べて解決する一般的な方法はトラブルシューティングのトピックとして示されています。 Mac のログとトラブルシューティング や Windows のログとトラブルシューティング を参照してください。
トラブルシューティングでは解決策が見つからなかった場合は、GitHub リポジトリ docker/for-mac または docker/for-win を確認し、必要に応じて issue をあげてください。
リモートの Docker Engine API にアクセスするにはどうしてらよいですか
リモート Engine API に接続するには、Docker クライアントや開発ツールに対して Engine API の場所を指定することが必要になります。
Mac や Windows WSL 2 を利用する場合、Docker Engine への接続は Unix ソケットunix:///var/run/docker.sock
を通じて行います。
Apache Maven のようなアプリケーションを使った作業を行っている場合、環境変数DOCKER_HOST
やDOCKER_CERT_PATH
の設定が必要になるので、これらを設定することで Unix ソケットを通じた Docker インスタンスへの接続を指定します。
たとえば以下のとおりです。
$ export DOCKER_HOST=unix:///var/run/docker.sock
Docker Desktop Windows ユーザーであれば Docker Engine に対して 名前つきパイプnpipe:////./pipe/docker_engine
、あるいはその URL に応じた TCP ソケットtcp://localhost:2375
を通じて接続することができます。
詳しくは Docker Engine API を参照してください。
コンテナーからホスト上のサービスに接続するにはどうしたらよいですか
Mac と Windows では、ともに動的 IP アドレスを利用します(ただしネットワークアクセスがなければ IP アドレスはありません)。
そこでは特別な DNS 名host.docker.internal
へ接続することを推奨します。
これはホスト上において用いられる内部 IP アドレスへの変換を行います。
開発目的での利用に限られ、Docker Desktop の外部に位置する本番環境では動作しません。
詳しい説明あるいは利用例については、コンテナーからサービスに接続する方法を示した Mac での説明 あるいは Windows での説明 を参照してください。
Mac や Windows からコンテナーに接続するにはどうしたらよいですか
ポートを公開する方法をお勧めします。
つまり別のコンテナーから接続します。
localhost
に対してポートフォワーディングが動作し、--publish
、-p
、-P
がすべて利用可能です。
詳しい情報や利用例については Mac からコンテナーに接続したい や Windows からコンテナーに接続したい を参照してください。
カスタム CA 証明書を追加するにはどうしたらよいですか
Docker Desktop は信頼された(ルートあるいは中間の)認証局をすべてサポートします。 サーバー側およびクライアント側に証明書を追加する詳しい説明は Mac での TLS 証明書の追加 や Windows での TLS 証明書の追加 を参照してください。
USB デバイスをコンテナーに接続することはできますか
残念ながら USB デバイス(あるいはシリアルポート)をコンテナーに接続することはできません。 これはハイパーバイザーレベルでの対応を必要とするためです。
ネストした仮想環境において Docker Desktop を利用できますか
Docker Desktop は Mac 上の Parallels や VMware Fusion といったアプリ内に稼動する Windows 10 VM 内で実行させることができます。 その場合には VM を適切に設定することが必要です。 ただしそういったアプリがハードウェア仮想化を実現する方法に起因して、何かの問題や断続的な障害が発生する場合があります。 このことから Docker Desktop はネストした仮想環境内での利用はサポートしていません。 動作する環境もあれば、動作しない環境もあります。
詳しくは ネストした仮想環境内での Docker Desktop の実行 を参照してください。
Docker Desktop’s UI appears green, distorted, or has visual artifacts. How do I fix this?
Docker Desktop は、デフォルトでハードウェアアクセラレーションによるグラフィックスを利用しています。 このことは GPU によっては問題が発生することがあります。 その場合に Docker Desktop の起動は正常に行われますが、画面がグリーンになったり、ひずんでしまったり、といった視覚的な症状を引き起こす場合があります。
この問題を解決するには、ハードウェアアクセラレーションを無効にします。
具体的には、Docker Desktop のsettings.json
ファイルに、"disableHardwareAcceleration": true
というエントリーを生成します。
このファイルは以下の場所にあります。
- Mac:
~/Library/Group Containers/group.com.docker/settings.json
- Windows:
C:\Users\[USERNAME]\AppData\Roaming\Docker\settings.json
settings.json
ファイルを修正した後は、ファイルを保存終了させて、Docker Desktop の再起動によってその変更を有効にします。
リリース
Docker Desktop が累積的なリリースストリームに移行するのはいつですか
Docker Desktop 3.0.0 から Docker Desktop は 1 つの累積的なリリースストリームとして提供されるようになりました。 つまり安定版(Stable)ユーザー、最新版(Edge)ユーザーのどちらも同一バージョンを用いることになります。 Docker Desktop 3.0.0 の次に行われるリリースは、デルタアップデートを採用する初めてのリリースです。 詳しくは 自動アップデート を参照してください。
新規ユーザーはどうやって Docker Desktop をインストールしたらよいですか
各 Docker Desktop リリースは新規ユーザーに向けて完全なインストーラーも提供しています。 新規リリースは、リリースアップデートをいくつか抜かしていても適用できます。 もっともアップデートは自動的に行われることなので、そういった状況は通常は発生しません。
新規リリースはどれくらいの期間で行われますか
新規リリースはおおまかに言えば 1 ヶ月ごとに利用できます。 最新版は本日も行われています。 重大な修正があればすぐにリリースが行われます。
チーム内ユーザーが同一バージョンを使っていることをどうやって確認したらよいですか
以前であれば自分で管理しておかなければなりませんでした。 今は全ユーザーが最新版に更新されることから自動的に達成されます。
仲間が最新版への更新をして自分はしていないのですが
新たなバージョンを数日かけて徐々に公開する場合があります。 したがって 2、3 日待てば、最新版が出てきます。 これとは別に Docker メニューの Check for Updates(アップデートの確認)を実行する方法もあります。 これを行えば、アップデート順に従うことなく即座に最新版を入手できます。
安定版と最新版のリリース情報はどこにありますか
Docker Desktop 3.0.0 から安定版(Stable)と最新版(Edge)は、どのユーザーに対しても 1 つの累積的なリリースストリームとして統合されました。
サポート
Docker Desktop ではサポートを行っていますか
はい。 Docker Desktop では、有償の Docker サブスクリプション購入ユーザーに対してのサポートを行っています。 詳しくは Docker Desktop サポート を参照してください。
有償の Docker サブスクリプションや既存アカウントの更新に関する情報は Docker pricing を参照してください。
どのような種類のフィードバックを求めていますか
種類の如何を問いません。 望んでいるのは皆さんの感じた印象です。 ダウンロードインストール処理、起動、利用可能な機能、GUI、アプリの使いやすさ、コマンドライン統合、などなどです。 発生した問題、好きなもの、Docker ロードマップ を通じて公開されている新機能への要望などをお知らせください。
個人データは Docker Desktop においてどのように取り扱われますか
Docker が問題を調査できるようにするための診断情報のアップロードにおいては、その診断情報の中に、ユーザー名や IP アドレスのような個人データが含まれる場合があります。 診断情報にアクセスできるのは、Docker Desktop に関する問題の診断に直接関与する Docker 社の社員のみです。
原則として Docker 社はアップロードされた診断情報を 30 日後には削除します。 ユーザーから診断情報の削除を要請することもでき、その場合は診断情報 ID か、あるいは GitHub ID(その診断情報が GitHub issue に言及している場合)を送付します。 Docker 社は診断情報内のデータを、特定の問題を調査するためだけに利用します。 ただし issue の頻度などのように高度な(個人情報ではない)メトリックスを収集する場合があります。
詳しくは Docker Data Processing Agreement を参照してください。
Mac FAQ
Docker.app とは何ですか
Docker.app
は Docker Desktop on Mac のことです。
ここから Docker クライアントと Docker Engine が提供されます。
Docker.app
は macOS の Hypervisor.framework を利用してコンテナー実行を行います。
Docker Desktop は Apple のシリコンプロセッサーと互換性がありますか
はい。 Docker Desktop for Mac は Apple silicon 上にインストールできます。 詳しくは Docker Desktop for Apple silicon を参照してください。
HyperKit とは何ですか
HyperKit は macOS において Hypervisor.framework の最上位に構築されているハイパーバイザーのことです。 これは完全にユーザー空間内において動作し、依存するパッケージは何もありません。
HyperKit を利用することによって、Oracle VirtualBox や VMWare Fusion などのような他の VM 製品が不要になります。
HyperKit の利点は何ですか
HyperKit は VirtualBox や VMWare fusion に比べて軽量です。 本製品に含まれているバージョンは Mac 上の Docker 処理に合わせてカスタマイズされています。
アプリ終了しても com.docker.vmnetd が動作しているのはなぜですか
特権によるヘルパープロセスcom.docker.vmnetd
はlaunchd
により起動され、バックグラウンドで動作します。
Docker.app からのアクセスがない場合には、このプロセスはリソースを全く消費しないため、何も気にせず動作させておくことができます。
Windows FAQ
Docker Desktop とともに VirtualBox を利用できますか
はい。 マシン上において Windows ハイパーバイザープラットフォーム 機能を有効にしていれば、Docker Desktop とともに VirtualBox を利用することができます。
なぜ Windows 10 や Windows 11 が必要なのですか
Docker Desktop は Windows の Hyper-V 機能を利用します。 Windows のバージョンが古くても Hyper-V 機能が利用できますが、その場合の Hyper-V の実装には機能が不十分であるため、Docker Desktop を動作させることができません。
Docker Desktop は Windows 10 Home にインストールできますか
Windows 10 Home を利用している場合(バージョン 1903 以降)、WSL 2 バックエンド を利用して Docker Desktop for Windows をインストールすることができます。
Windows Server 上で Docker Desktop を実行できますか
いいえ。 Windows Server での Docker Desktop の実行はサポートされていません。
Windows Server 上で Windows コンテナーはどのようにして実行したらよいですか
ネイティブな Windows バイナリをインストールして利用すれば Docker Desktop がなくても Windows コンテナーの開発と実行ができます。 詳しくは Getting Started with Windows Containers(Windows コンテナーをはじめよう)に示されている、Windows Server 上の Windows コンテナー起動のチュートリアルを参照してください。
Docker Desktop 起動時にDocker Desktop Access Denied
エラーとなるのはなぜですか
Docker Desktop では Windows ユーザーが docker-users グループに属していない場合に Docker Desktop - Access Denied エラーを表示します。
管理ユーザーがふだんのユーザーアカウントではない場合は docker-users グループを追加します。 管理ユーザーになって Computer Management(コンピューターの管理)画面から、Local Users and Groups > Groups > docker-users を実行します。
右クリックにより目的のユーザーをグループに追加します。 変更を適用するために、いったんログアウトしてから再度ログインします。
アンチウィルスソフトをインストールしていると Docker Desktop の起動に失敗するのはなぜですか
アンチウィルスソフトの中には、Docker Desktop に必要となる Hyper-V と Windows 10 ビルドと互換性がないものがあります。 詳しくは トラブルシューティング 内にある アンチウィルスソフトのインストール時における Docker Desktop 起動の失敗 を参照してください
コンテナーに固有のデプロイ方法が必要なので、共有ボリュームのパーミッションを変更できますか
Docker Desktop では、デプロイコンテナーの 共有ボリューム に対して、Unix 流のパーミッション制御(chmod
)を行うことはできません。
パーミッションはそもそもデフォルトの 0777(ユーザーおよびグループに対してのread
、write
、execute
権限)に設定され、変更することはできません。
回避策や詳細に関しては 共有ボリューム上のデータディレクトリに対するパーミッションエラー を参照してください。
Windows においてシンボリックリンクはどのように動作しますか
Docker Desktop では以下の 2 種類のシンボリックリンクをサポートします。 Windows のネイティブシンボリックリンクと、コンテナー内部で生成されるシンボリックリンクです。
Windows のネイティブシンボリックリンクは、コンテナー内からもシンボリックリンクとして見えます。 一方コンテナー内部に生成されるシンボリックリンクは mfsymlinks と表現されるもので、特殊なメタデータを持った通常の Windows ファイルです。 したがってコンテナー内部からはシンボリックリンクとして見えますが、ホスト上はシンボリックリンクではありません。
Kubernetes と WSL 2 間でのファイル共有
Docker Desktop は、 Kubernetes が動いているコンテナー内部において、 WIndows ホストのファイルシステムを/run/desktop
にマウントします。
ホスト上のディレクトリに対して、Kubernetes による永続的なボリュームを設定する例については、stackoverflow の投稿 を参照してください。