私は自分の開発者のニーズに合わせてVMwareワークステーションを実行しており、diff環境用には異なるVMを管理する必要があります。
Dockerはコンテナ内でdiff環境を実行することを許可しているようです。
Windows 10 x64 VMの中で、dockerを実行して、コードの開発、構築、テストにさまざまなイメージやコンテナを使用できますか? (dockerがVirtualBoxを使用している間、私は自分の開発環境をVMware Workstationで実行していることを忘れないでください)
このアプリ(code + database + web api + .....)をどのようにプロダクションに出荷/持ち込みますか?生産機械はdockerをうまく動かす必要がありますか?
明確にするのを助けてください。
更新
VMWareによって私はVMWareワークステーションプロを意味します。
はい、VMでDockerを実行することは完全に可能です。 Dockerは軽い仮想化ソリューションです。ハードウェアを仮想化しないため、入れ子になったVMでよく見られる問題の影響を受けません。
ただし、VMwareのdev-env VMをVirtualBoxのDocker VMに何らかの方法で接続する必要があるため、ポートのバインドは少しややこしいかもしれません。
ホストのフォルダをDockerコンテナ内のサービスに公開したい場合にも問題が発生する可能性があります。 Windowsのファイルシステムはパーミッションの細分性の点でLinuxのものと比較して制限されており、いくつかのサービスはそれを好まない。 (この問題はDocker特有のものではありません)
通常、本番環境ではアプリはDockerにロックされていません。 Dockerizedサービスはネットワークを介して世界と通信します。通常のサービスとは違いはありません。ただし、Docker(またはより一般的にはクラウド)を念頭に置いて設計されたアプリは、障害に対する回復力が強く、保守が容易な場合があります。
このブログでは、VMWare Workstationを使ってWindows上でDockerを使用する方法について正確に説明しています。あなたもWindows 7を使用することができます。
https://stefanscherer.github.io/yes-you-can-docker-on-windows-7/
まずWindows用のChocolateyパッケージマネージャをインストールします(これは1行のコマンドです)。
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
それからDockerをインストールしてVMWareワークステーションを使う
choco install -y docker
choco install -y docker-machine
choco install -y docker-machine-vmwareworkstation
デフォルトのVMを作成する
docker-machine --native-ssh create -d vmwareworkstation default
環境変数を設定する
docker-machine env | iex
今、あなたはすべて始める準備が整いました。
docker save
を使うことができます。Docker Host(LinuxまたはWindows)には大きな違いがあります。
つまり、(物理Windows上の)VMware WorkstationのWindows docker Hostには、入れ子になったHyperV Linux VMがあります。これは大きな問題ではありません。ネスト仮想化を有効にするように注意してください。
フランソワ