Damit ich sie geordnet und griffbereit habe, sind hier die Setups für Docker zusammengefasst.
Docker Dienst:
Docker ist ein Softwaresystem, das Anwendungen in isolierten
Betriebssystemumgebungen ausführt.
Anders gesagt: Eine leichtgewichtige Form der Virtualisierung bei der der
Kernel des Host-Systems genutzt wird. Also mehr als nur chroot
aber weniger als eine echte virtuelle Maschine.
Bis Mai 2023 stellte Microsoft “Docker Enterprise” zur Verfügung. Dieser Dienst wurde allerdings eingestellt: https://github.com/OneGet/MicrosoftDockerProvider
Nun steht mit dem Moby Opensource Projekt eine freie Alternative zur Verfügung, die unter Windows Server eingesetzt werden kann.
Die folgenden Befehle sind alle mit der Windows Server PowerShell mit Administratorrechten auszuführen:
Install-WindowsFeature -Name Containers
Uninstall-WindowsFeature Windows-Defender
Restart-Computer -Force
Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/Windows-Containers/Main/helpful_tools/Install-DockerCE/install-docker-ce.ps1" -o install-docker-ce.ps1
.\install-docker-ce.ps1
C:\ProgramData\docker\config\daemon.json
Start-Service docker
docker image pull mcr.microsoft.com/windows/nanoserver:ltsc2022
docker image pull mcr.microsoft.com/windows/servercore:ltsc2022
docker image pull mcr.microsoft.com/windows/nanoserver:1809
docker image pull mcr.microsoft.com/windows/servercore:ltsc2019
Weitere Details zum Moby Setup findet man unter learn.microsoft.com
Ebenso aufgelistet sind die JSON Konfigurationseinträge
Das aktuelle Installations-Skript für die Moby-Docker Binaries lädt Programmdateien, die mit Windows Server 2016 nicht mehr kompatibel sind. Allerdings funktionieren ältere Varianten mit dieser Plattform. Sie müssen manuell heruntergeladen werden.
Install-WindowsFeature -Name Containers
Restart-Computer -Force
curl https://download.docker.com/win/static/stable/x86_64/docker-20.10.24.zip -o docker-20.10.24.zip
dockerd.exe
und docker.exe
, diese beiden
Dateien müssen nach C:\Windows\System32
kopiert werden.mkdir C:\ProgramData\docker\config
Start-Service docker
docker image pull mcr.microsoft.com/windows/nanoserver:sac2016
docker image pull mcr.microsoft.com/windows/servercore:ltsc2016
Zu Dokumentationszwecken befindet sich hier noch die Setup-Anleitung des früheren Microsoft Docker-Provider (Docker Enterprise), der nun nicht mehr verfügbar ist:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Install-PackageProvider -Name NuGet -RequiredVersion 2.8.5.201 -Force
Install-Module DockerMsftProvider -Force
Holt den Docker MicrosoftProvider auf das SystemInstall-Package Docker -ProviderName DockerMsftProvider –Force
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
Install-Package -Name docker -ProviderName DockerMsftProvider -Force -RequiredVersion 19.03
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
Install-Package -Name docker -ProviderName DockerMsftProvider
Folgende Quellen wurden verwendet:
Start-Service docker
docker image pull mcr.microsoft.com/windows/nanoserver:sac2016
docker image pull mcr.microsoft.com/windows/servercore:ltsc2016
Folgende Quellen dienten als Basis:
sudo
)
sudo zypper -n install docker docker-compose
sudo systemctl start docker
sudo systemctl enable docker
sudo usermod -aG docker $(whoami)
/etc/docker/daemon.json
sudo systemctl restart docker
docker pull opensuse/leap
docker pull opensuse/tumbleweed
docker pull registry.suse.com/suse/sle15
Folgende Quellen dienten als Basis:
sudo
)
sudo apt remove docker docker-engine docker.io runc
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
sudo usermod -aG docker $(whoami)
/etc/docker/daemon.json
sudo systemctl restart docker
sudo usermod -aG docker $(whoami)
/etc/docker/daemon.json
root
angelegt werden.
z.B.: Container-Datenverzeichnis ändern:
sudo systemctl restart docker
docker pull debian:latest
docker pull debian:bullseye
docker pull debian:11
docker pull debian:bullseye-slim
docker pull debian:10
docker pull debian:buster
docker pull debian:buster-slim
docker pull debian:9
docker pull debian:stretch
docker pull debian:8
docker container ls
123456789abc
) oder über
einen Namen identifiziert. Hat ein Container keinen Namen, wird einer
zufällig generiert.docker container ls -a
docker container prune -a
docker image ls -a
123456789abc
) oder über
eine Kombination aus einem Namen und einem TAG identifiziert
(z.B.: my_image_name:tag
wie in debian:10
)docker image prune -a
docker run -it image_name:tag
docker run -it image_id
docker run -v d:\shared_on_host:c:\shared -it myimage:tag
docker run -v /shared_on_host:/shared -it myimage:tag
shared
angelegt und darin
wird alles bereitgestellt, was am Host-System im Verzeichnis
shared_on_host
verfügbar ist. So können zwischen Host und
Container Daten ausgetauscht werden.-v
+ ` ` + host-path
+ :
+ container-path
docker run -p 8080:80 -it httpd
httpd
Apache-Webserver-Image und leitet am Host-System
den Port 8080
in den Container auf Port 80
um. Man kann dann am
Host z.B.: per http://host-ip:8080
auf die Webseite zugreifen,
die im Container auf Port 80 läuft.docker container exec -it container_id cmd.exe
docker container exec -it container_name /bin/sh
docker container kill container_id_or_name
opengate.at
.