호스트가 윈도우인 도커는 추천하지 않는다. 다양한 OS선택 설치할수 있는 프로비저닝이 리눅스계열보다 약하다.
CoreOS에 비해 Windows Server OS의 기본 사이즈도 크고 더 높은 리소스가 요구되기 때문이다. 덤으로 OS라이센스 비용도 생각해야한다.
진짜 필요하면 MS 클라우드를 사용하는것이 권장~
리눅스 환경에서 셋팅된 란쳐 구성요소에서, 윈도우 호스트 에이전트와 조합하는것을 실패한상황... 윈도우와 리눅스를 혼용한 환경을 셋팅한다고 하면 Hyper-V 기반에서 다시 출발,
액티브x또는 윈도우종속 기능이 필요하거나 윈도우 VM이 필요한 경우가 있어서 시도되었으며
윈도우 호스트에서 도커를 추가하여,도커 내에서 IIS와 Net45를 이용하는 웹서비스 구동이 가능할까? 가능하다.
도커 컨테이너는 HostOS의 커널 기능을 사용할수 있으며 , 윈도우 Host인경우 윈도우기능을 사용할수 있다.
OS 설치정보
Vagrant
# -*- mode: ruby -*- # vi: set ft=ruby : # All Vagrant configuration is done below. The "2" in Vagrant.configure # configures the configuration version (we support older styles for # backwards compatibility). Please don't change it unless you know what # you're doing. Vagrant.configure("2") do |config| # The most common configuration options are documented and commented below. # For a complete reference, please see the online documentation at # https://docs.vagrantup.com. # Every Vagrant development environment requires a box. You can search for # boxes at https://vagrantcloud.com/search. config.vbguest.auto_update = false config.vm.box = "StefanScherer/windows_2019_docker" config.vm.hostname = "docker3" config.vm.network "private_network", ip: "192.168.56.203" config.vm.provider "virtualbox" do |vb| # # Display the VirtualBox GUI when booting the machine # vb.gui = true vb.memory = "2048" end # # View the documentation for the provider you are using for more # information on available options. # Enable provisioning with a shell script. Additional provisioners such as # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the # documentation for more information about their specific syntax and use. # config.vm.provision "shell", inline: <<-SHELL # apt-get update # apt-get install -y apache2 # SHELL end
https://www.veeam.com/blog/windows-server-2016-core-installation-steps.html
Install-Module DockerMsftProvider -Force
Install-Package Docker -ProviderName DockerMsftProvider -Force
윈도우(닷넷45) 기능을 이용할수 있는 Dockerfile
FROM microsoft/iis:10.0.14393.206 MAINTAINER alexellis2@gmail.com SHELL ["powershell"] RUN Install-WindowsFeature NET-Framework-45-ASPNET ; \ Install-WindowsFeature Web-Asp-Net45 COPY VoteService VoteService RUN Remove-WebSite -Name 'Default Web Site' RUN New-Website -Name 'VoteService' -Port 80 \ -PhysicalPath 'c:\VoteService' -ApplicationPool '.NET v4.5' EXPOSE 80 CMD Write-Host IIS Started... ; \ while ($true) { Start-Sleep -Seconds 3600 }
윈도우 HOST에서 Docker 구동 모습
ssh가 기본으로 작동이 안되며, power shell 또한 VM을 구동하는 Host가 윈도우여만 하기때문에
Rancher Agent 설치는 VM을 이용하여 GUI 화면에서 설치가능하다. UI가 없는 깡통 윈도우 서버이지만
성능 모니터링을 포함하여 몇몇 시스템툴은 GUI 제공을 해준다.
Rancher Agent 설치후에는 웹에서 컨테이너 제어가 가능하기때문에 이 화면을 접근할일은 없을것이다.
윈도우용 Agent : https://rancher.com/docs/rancher/v1.6/en/windows/