Jump to content

Fachinformatiker - Blog

  • Einträge
    42
  • Kommentare
    143
  • Aufrufe
    64.373

Mitwirkende

docker Windows Server Container und Docker I

Melde dich an, um diesem Inhalt zu folgen  

1.338 Aufrufe

Einleitung

Die grundlegende Frage gleich vornweg: Warum sollte man Docker auf einem Windows Server betreiben?

Nunja, weil man es kann. Außerdem besteht die Infrastruktur bei den meisten unserer Kunden aus MS SQL-Server und Windows Servern auf denen unsere Software installiert wird. Hier könnte man nun argumentieren, dass unsere Software "nur" PHP und Apache benötigt und das zusammen mit PostGreSQL oder ORACLE durchaus auf Linux laufen könnte. Ja, ist richtig, wir möchten aber nicht auch noch irgendwelche Linux Installationen bei unseren Kunden pflegen.

Sucht man, naiv wie man ist, einfach mal nach "docker windows", landet man früher oder später bei "Docker CE for Window". Hat man das installiert und den ersten Container gestartet, wird einem auffallen das die Container nicht beim Booten starten. Da ist auch nichts falsch konfiguriert, das soll so sein. Dafür gibt es sicherlich Gründe. Diese Version ist für Entwickler gedacht, die Docker auf ihrem Windows 10 PC betreiben wollen. Wollen wir aber gar nicht …

Installation

Also installieren wir mal das richtige

PS> Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
PS> Install-Module -Name DockerMsftProvider -Force
PS> Install-Package -Name docker -ProviderName DockerMsftProvider -Force

Danach möchte der Server einmal neu starten und wir können mit docker version schauen ob das funktioniert hat.

PS C:\> docker version
Client:
 Version:           18.09.0
 API version:       1.39
 Go version:        go1.10.3
 Git commit:        33a45cd0a2
 Built:             unknown-buildtime
 OS/Arch:           windows/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.09.0
  API version:      1.39 (minimum version 1.24)
  Go version:       go1.10.3
  Git commit:       33a45cd0a2
  Built:            11/07/2018 00:24:12
  OS/Arch:          windows/amd64
  Experimental:     true

An der Stelle konfigurieren wir den Dienst erstmal ein wenig. Das kann man prinzipiell auch über eine json-Datei erledigen. Anleitungen dazu findet man genug. Man kann die Parameter aber auch direkt dem Dienst übergeben.

PS E:\> Stop-Service Docker
PS E:\> Remove-Service Docker
PS E:\> New-Service -Name Docker -DisplayName "Docker Engine" -StartupType Boot -BinaryPathName "C:\Program Files\Docker\dockerd.exe --run-service -H npipe:// -H 0.0.0.0:2375 --data-root=E:\docker --experimental"
PS E:\> Start-Service Docker

Für Remove-Service benötigt man allerdings PowerShell Version 6. Die gibt es zwar seit August 2018, ist dennoch nicht im Server 2019 enthalten. Nach dem Neustart des Dienstes legt Docker nun seine benötigte Verzeichnisstruktur unter E:\docker an. Und durch –experimental können wir später –plattform=linux nutzen.

Nun ist es endlich soweit, wir holen unser erstes Image. Normalerweise würde man das einfach mit

PS> docker pull microsoft/nanoserver

erledigen. Das funktioniert zwar, aber ...

Das was man dann bekommt ist ein Server 2016 SAC Image. Was per se zwar nicht verkehrt ist, aber im ersten Moment auf einem Server 2019 nicht funktioniert. Hier müsste man dem docker run noch ein --isolation=hyperv mitgeben oder man holt ein neues Image. Für Images die zum Server 2019 passen benötigt man spezifische Tags und kann sich nicht auf den Standard :latest verlassen. Images vom Nanoserver und Windows Server Core holen wir mit.

PS> docker pull mcr.microsoft.com/windows/nanoserver:1809
PS> docker pull mcr.microsoft.com/windows/servercore:ltsc2019

Anschließend verpassen wir den Images noch neue Tags

PS> docker image tag mcr.microsoft.com/windows/nanoserver:1809 nanoserver:1809

An dieser Stelle können wir auch schon mal einen Container mit einem der Images starten.

PS> docker run -it --name testdings microsoft/nanoserver powershell

Damit bekommen wir eine PowerShell Instanz in dem laufenden Container und können Dinge tun. Updates installieren, wäre eines dieser Dinge. Das erledigt man normalerweise mit sconfig auf der geöffneten PowerShell.

In den nächsten Teilen bereiten wir die Build-Umgebung vor, basteln uns ein Dockerfile und bewundern das Ergebnis ;)

Melde dich an, um diesem Inhalt zu folgen  


1 Kommentar


Empfohlene Kommentare

Gast
Kommentar schreiben...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

  • Blogkommentare

    • Ach, der Text kommt mir doch bekannt vor 😜
    • Also ernsthaft kaputt war noch nichts, ein mittleres Problem sind VMware Vorlagen. Die erste angelegte Vorlage ist nun etwas über ein Jahr alt. Das erste was "kaputt" geht ist der arch-keyring. Pakete von damals gibt es nicht mehr und neue bekommt man unter umständen nicht weil die Signaturen nicht mehr stimmen. Etwas nervig. Dann kann man sich erstmal aktuelle Schlüssel besorgen (pacman-key --refresh-keys) und dann den neuen keyring holen (pacman -S archlinux-keyring) Updates hab ich bishe
    • Arch als Server interessiert mich. Ich nutze es seit 2011 privat als Desktop-OS und erlebe kaum einen Tag ohne mehrere Paket-Updates. Wenn man die zu lange warten lässt, geht später gern mal was kaputt.  Von gefühlt dauernden Kernel-Updates mal ganz zu schweigen. Wie sind deine / eure Erfahrungen damit bisher?
    • Richtig Budgie basiert auf Gnome. Früher war ich zwar kein Gnome Fan aber das sieht schon ganz brauchbar aus. Die Skalierung funktioniert bei dem 4K Display allerdings eher so mittel-gut. Gnome typisch kann man nur 100, 200 und 300% auswählen. 200% ist dann schon wieder zu groß, das Problem lässt sich aber mit xrandr beheben. Das kommt dann im nächsten Teil. oh-my-zsh kenn ich schon, muss mich nur mal tiefer damit beschäftigen. Kommt wohl auch beim nächsten mal, zusammen mit tmux und ranger
    • "Budgie" kenne ich noch nicht - ist das ein Ableger von Gnome? Bei meinem Arch kann ich mich momentan nicht so wirklich zwischen XFCE aus Gewohnheit und i3-gaps wegen der Geschwindigkeit (wenn man fertig eingerichtet...) entscheiden. Wenn du bereits zsh-Fan bist, würde ich noch "oh-my-zsh" empfehlen. Ŭber kleine Module kommt da noch ne ganze Menge an Helferlein für die Shell hinzu.
    • oh super, danke dir. Ja mit den hochgestellten und tiefgestellten zahlen ist das so ne Sache. Da kommt der ein oder andere Fehler gern zustande. Leider kann man das nicht bearbeiten. Also hoffe ich das die Option irgendwann dazukommen wird oder jeder hier auch die Kommentare liest  
    • Das ist natürlich richtig, aber ich bin nicht der geduldigste Mensch und Arch kannte ich halt auch schon  Dazu kommt dann noch das der Core m5-Y71 nicht gerade ein Kraftpaket ist. Aber ich merkt mir mal Gentoo für ganz viel Langeweile oder potentere Hardware vor.
    • @_n4p_: Auch eine Gentoo Stage1 Installation ist gar nicht sooo kompliziert. Man braucht halt vor allem entsprechend viel Zeit, um alles selber zu kompilieren, anstatt es viel schneller nur zu installieren. Dafür läuft das System (wenn man alles richtig macht) aber auch schneller und stabiler als so ziemlich jedes andere System.
    • Das Arch Wiki ist echt großartig. Das kann man gar nicht oft genug sagen Für Gentoo und LFS war die Motivation einfach nicht groß genug. Arch bildet einen schönen Mittelweg aus den Extremen - Ubuntu, Mint auf der einen und LFS auf der anderen Seite. Irgendwo hab ich mal gelesen Arch sei auf die richtige Art kompliziert, zumindest zum Lernen. Will man einfach ein Linux um produktiv zu arbeiten, ist Arch vermutlich nicht der richtige Anfang. Das Abenteuer geht auch noch weiter
    • Schönes Abenteuer...verleitet mich ja fast dazu auch mal wieder was zu installieren und mit Linux rumzuspielen. Arch habe ich damals mit 16 oder 17 das erste Mal installiert. Da war die Wiki glaube ich noch nicht soooo gut wie heute und musste oft in Foren nachfragen oder Yt Vids gucken. Danach (einige Jahre später) wars dann eher Manjaro oder Antergos. Gentoo würde in meiner Liste noch fehlen (und LFS)
  • Blogstatistik

    • Blogs insgesamt
      1
    • Einträge insgesamt
      38

Fachinformatiker.de, 2020 SE Internet Services

fidelogo_small.png

if_icon-6-mail-envelope-closed_314900.pnSchicken Sie uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App


Get it on Google Play

Kontakt

Hier werben?
Oder senden Sie eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...

Wichtige Information

Fachinformatiker.de verwendet Cookies. Mehr dazu in unserer Datenschutzerklärung