私は開発ニーズに合わせてVMware Workstationを使用しており、異なる環境用に異なるVMを維持する必要があります。
Dockerはコンテナ内で異なる環境を実行できるようです。
1.Windows 10 x64のVMの中でdockerを実行し、異なるイメージやコンテナを使用してコードを開発、ビルド、テストすることはできますか?(私はVMware Workstationで開発環境を動かしていますが、dockerはVirtualBoxを使っています。)
2.私のアプリ(コード+データベース+ウェブAPI+......)を本番環境にどのように出荷すればいいのでしょうか?本番マシンでも docker を実行する必要がありますか?
教えてください。
更新
VMWareというのはVMWare workstation proのことです。
はい、DockerをVMで実行することは可能です。Dockerは軽い仮想化ソリューションで、ハードウェアを仮想化しないので、ネストしたVMにありがちな問題の影響を受けることはありません。
VMware上のdev-env VMとVirtualBox上のDocker VMを何らかの方法で接続する必要があるためだ。
また、Dockerコンテナ内のサービスにホストのフォルダを公開したい場合にも問題が発生するかもしれません。WindowsのファイルシステムはLinuxに比べてパーミッションの粒度に制限があり、それを嫌うサービスもあります。(この問題はDocker固有のものではありません)。
一般的に、アプリは本番環境ではDockerにロックされません。Docker化されたサービスはネットワークを通じて世界と通信します。しかし、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"
その後、VMWareワークステーションを使うためにDockerをインストールする。
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
これで準備は整った。
ドッカーホスト(LinuxまたはWindows)には大きな違いがあります。
- Linuxホストには仮想化テクノロジーは必要ありません。 したがって、Vmwareワークステーションでは、標準のLinuxをインストールしてから、ドッカーエンジンをインストールし、問題なくコンテナを実行できます。 - Windowsホストの要件は異なります。これは、内部でHyper V Linux VMを作成するためです(https://rancher.com/the-similarities-and-differences-between-windows-and- linux-containers /)。
したがって、Vmware Workstation(物理Windows)のWindowsドッカーホストには、HyperV Linux VMがネストされています。 ! これは大きな問題ではありません。ネストされた仮想化を有効にするように注意してください。
Franç ois。