Docker コンテナで色々サービスを立ち上げていると、気軽にこのサーバーにもあのサービスを立ち上げてよという話が。
いや、それ Windows Server でそのサービス Linux イメージしか配布されてないんですけど? というお話。
背景
Docker コンテナの便利さと手軽さにハマって、手近なマシンにポコポコサービスを立てていました。
中には他の人と共有する系のものも少なくなく、次第に色んな便利サービスがあることが認知されるようになりました。
すると、中にはこのサービスはこちらのサーバーにあるべきだ、
こっちにも欲しい的なノリで色々勝手な注文をしてくる人が一定数います。
でも私は Linux畑の人間なのでサーバーは、docker サーバーも含めて全て Linux サーバーなんですよね。
ご指定のサービスは Linux コンテナイメージしか配布されていませんし、
dockerコンテナじゃなかったら絶対やりませんよ?
また、ご指定のサーバーは Windows Server なんですけど、その辺理解されていますでしょうか?
というわけで、今回は Windows (Server) で Linux コンテナイメージを動かすというお話です。
Docker のインストール
基本的には公式ドキュメントを参照。
(以下は Windows Server用。 Windows 10 用の記載もあり)
- 管理者権限で Power Shell を開く
- Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
- Install-Package -Name docker -ProviderName DockerMsftProvider
- (Restart-Computer -Force) # 今回はスキップ, 以下に続く
Linux コンテナの有効化
Linux container on Windows (lcow) を利用する。
- Hyper-V の有効化
- lcow を C:\Program Files\Linux Containers 以下に展開する。
- docker の experimental フラグ有効化:
Program Data/docker/config/daemon.json --> "experimental": true - 再起動
再起動後, 以下でセットアップを確認できる
- docker info
:
Storage Driver: windowsfilter(windows) lcow(linux)
- docker version
:
Server: ... Experimental: true
- docker pull alpine
など
動作確認
あとは Linux 上で動かすのと同様に Linux コンテナイメージを pull, run すれば動くはずです。
次回に続きます。