<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.ixheim.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mario.zimmermann</id>
	<title>Xinux Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ixheim.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mario.zimmermann"/>
	<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php/Spezial:Beitr%C3%A4ge/Mario.zimmermann"/>
	<updated>2026-05-14T16:13:38Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Erstellen_eines_Rettungssystems&amp;diff=46080</id>
		<title>Erstellen eines Rettungssystems</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Erstellen_eines_Rettungssystems&amp;diff=46080"/>
		<updated>2023-06-13T11:37:30Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Installation von live-build=&lt;br /&gt;
*'''sudo apt install live-build'''&lt;br /&gt;
=Erstellen ein neues Verzeichnis=&lt;br /&gt;
*Wir erstellen ein neues Verzeichnis für unser Live-System und wechseln in dieses Verzeichnis:&lt;br /&gt;
*'''mkdir ~/livecd &amp;amp;&amp;amp; cd ~/livecd'''&lt;br /&gt;
=Initialisierung das live-build-System=&lt;br /&gt;
*Wir initialisieren das live-build-System mit folgendem Befehl:&lt;br /&gt;
*'''lb config'''&lt;br /&gt;
*Dieser Befehl erstellt eine Reihe von Verzeichnissen und Skripten, die verwendet werden, um unser Live-System zu erstellen.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[2023-06-13 11:14:37] lb config &lt;br /&gt;
P: Creating config tree for a debian/bullseye/amd64 system&lt;br /&gt;
P: Symlinking hooks...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=Installation von zusätzliche Paket=&lt;br /&gt;
*Um zusätzliche Pakete in unserem Live-System zu installieren, fügen wir sie zur Datei config/package-lists/mylist.list.chroot hinzu. &lt;br /&gt;
*Wir erstellen die Datei und fügen die Namen der Pakete hinzu, die wir installieren möchten, jeweils eines pro Zeile&lt;br /&gt;
*'''vim config/package-lists/mylist.list.chroot'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
gparted&lt;br /&gt;
ntfs-3g&lt;br /&gt;
testdisk&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=Erstellen das Live-System=&lt;br /&gt;
*Jetzt können wir das Live-System mit folgendem Befehl erstellen:&lt;br /&gt;
*'''sudo lb build'''&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
Reading package lists... Done&lt;br /&gt;
Building dependency tree... Done&lt;br /&gt;
Reading state information... Done&lt;br /&gt;
[2023-06-13 12:27:33] lb source &lt;br /&gt;
P: Source stage disabled, skipping&lt;br /&gt;
P: Build completed successfully&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*Am Ende sollte eine ISO-Datei (binary.hybrid.iso) im aktuellen Verzeichnis erstellt werden. Dies ist unser bootfähiges Live-System.&lt;br /&gt;
*[[Image:Erstellung_eines_Rettungssystems_1.png]]&lt;br /&gt;
*[[Image:Erstellung_eines_Rettungssystems_2.png]]&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Datei:Erstellung_eines_Rettungssystems_2.png&amp;diff=46059</id>
		<title>Datei:Erstellung eines Rettungssystems 2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Datei:Erstellung_eines_Rettungssystems_2.png&amp;diff=46059"/>
		<updated>2023-06-13T10:49:55Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Erstellen_eines_Rettungssystems&amp;diff=46058</id>
		<title>Erstellen eines Rettungssystems</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Erstellen_eines_Rettungssystems&amp;diff=46058"/>
		<updated>2023-06-13T10:49:49Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: /* Erstellen das Live-System */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Installation von live-build=&lt;br /&gt;
*'''sudo apt install live-build'''&lt;br /&gt;
=Erstellen ein neues Verzeichnis=&lt;br /&gt;
*Wir erstellen ein neues Verzeichnis für unser Live-System und wechseln in dieses Verzeichnis:&lt;br /&gt;
*'''mkdir ~/livecd &amp;amp;&amp;amp; cd ~/livecd'''&lt;br /&gt;
=Initialisierung das live-build-System=&lt;br /&gt;
*Wir initialisieren das live-build-System mit folgendem Befehl:&lt;br /&gt;
*'''lb config'''&lt;br /&gt;
*Dieser Befehl erstellt eine Reihe von Verzeichnissen und Skripten, die verwendet werden, um unser Live-System zu erstellen.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[2023-06-13 11:14:37] lb config &lt;br /&gt;
P: Creating config tree for a debian/bullseye/amd64 system&lt;br /&gt;
P: Symlinking hooks...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=Installation von zusätzliche Paket=&lt;br /&gt;
*Um zusätzliche Pakete in unserem Live-System zu installieren, fügen wir sie zur Datei config/package-lists/mylist.list.chroot hinzu. &lt;br /&gt;
*Wir erstellen die Datei und fügen die Namen der Pakete hinzu, die wir installieren möchten, jeweils eines pro Zeile&lt;br /&gt;
*'''vim config/package-lists/mylist.list.chroot'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
gparted&lt;br /&gt;
ntfs-3g&lt;br /&gt;
testdisk&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=Erstellen das Live-System=&lt;br /&gt;
*Jetzt können wir das Live-System mit folgendem Befehl erstellen:&lt;br /&gt;
*'''sudo lb build'''&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
Reading package lists... Done&lt;br /&gt;
Building dependency tree... Done&lt;br /&gt;
Reading state information... Done&lt;br /&gt;
[2023-06-13 12:27:33] lb source &lt;br /&gt;
P: Source stage disabled, skipping&lt;br /&gt;
P: Build completed successfully&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*Am Ende sollte eine ISO-Datei (binary.hybrid.iso) im aktuellen Verzeichnis erstellt werden. Dies ist unser bootfähiges Live-System.&lt;br /&gt;
&lt;br /&gt;
[[Image:Erstellung_eines_Rettungssystems_1.png]]&lt;br /&gt;
[[Image:Erstellung_eines_Rettungssystems_2.png]]&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Datei:Erstellung_eines_Rettungssystems_1.png&amp;diff=46057</id>
		<title>Datei:Erstellung eines Rettungssystems 1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Datei:Erstellung_eines_Rettungssystems_1.png&amp;diff=46057"/>
		<updated>2023-06-13T10:47:29Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Erstellen_eines_Rettungssystems&amp;diff=46056</id>
		<title>Erstellen eines Rettungssystems</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Erstellen_eines_Rettungssystems&amp;diff=46056"/>
		<updated>2023-06-13T10:47:13Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Installation von live-build=&lt;br /&gt;
*'''sudo apt install live-build'''&lt;br /&gt;
=Erstellen ein neues Verzeichnis=&lt;br /&gt;
*Wir erstellen ein neues Verzeichnis für unser Live-System und wechseln in dieses Verzeichnis:&lt;br /&gt;
*'''mkdir ~/livecd &amp;amp;&amp;amp; cd ~/livecd'''&lt;br /&gt;
=Initialisierung das live-build-System=&lt;br /&gt;
*Wir initialisieren das live-build-System mit folgendem Befehl:&lt;br /&gt;
*'''lb config'''&lt;br /&gt;
*Dieser Befehl erstellt eine Reihe von Verzeichnissen und Skripten, die verwendet werden, um unser Live-System zu erstellen.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[2023-06-13 11:14:37] lb config &lt;br /&gt;
P: Creating config tree for a debian/bullseye/amd64 system&lt;br /&gt;
P: Symlinking hooks...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=Installation von zusätzliche Paket=&lt;br /&gt;
*Um zusätzliche Pakete in unserem Live-System zu installieren, fügen wir sie zur Datei config/package-lists/mylist.list.chroot hinzu. &lt;br /&gt;
*Wir erstellen die Datei und fügen die Namen der Pakete hinzu, die wir installieren möchten, jeweils eines pro Zeile&lt;br /&gt;
*'''vim config/package-lists/mylist.list.chroot'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
gparted&lt;br /&gt;
ntfs-3g&lt;br /&gt;
testdisk&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=Erstellen das Live-System=&lt;br /&gt;
*Jetzt können wir das Live-System mit folgendem Befehl erstellen:&lt;br /&gt;
*'''sudo lb build'''&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
Reading package lists... Done&lt;br /&gt;
Building dependency tree... Done&lt;br /&gt;
Reading state information... Done&lt;br /&gt;
[2023-06-13 12:27:33] lb source &lt;br /&gt;
P: Source stage disabled, skipping&lt;br /&gt;
P: Build completed successfully&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*Am Ende sollte eine ISO-Datei (binary.hybrid.iso) im aktuellen Verzeichnis erstellt werden. Dies ist unser bootfähiges Live-System.&lt;br /&gt;
&lt;br /&gt;
[[Image:Erstellung_eines_Rettungssystems_1]]&lt;br /&gt;
[[Image:Erstellung_eines_Rettungssystems_1]]&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Erstellen_eines_Rettungssystems&amp;diff=46055</id>
		<title>Erstellen eines Rettungssystems</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Erstellen_eines_Rettungssystems&amp;diff=46055"/>
		<updated>2023-06-13T10:34:45Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: /* Erstellen das Live-System */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Installation von live-build=&lt;br /&gt;
*'''sudo apt install live-build'''&lt;br /&gt;
=Erstellen ein neues Verzeichnis=&lt;br /&gt;
*Wir erstellen ein neues Verzeichnis für unser Live-System und wechseln in dieses Verzeichnis:&lt;br /&gt;
*'''mkdir ~/livecd &amp;amp;&amp;amp; cd ~/livecd'''&lt;br /&gt;
=Initialisierung das live-build-System=&lt;br /&gt;
*Wir initialisieren das live-build-System mit folgendem Befehl:&lt;br /&gt;
*'''lb config'''&lt;br /&gt;
*Dieser Befehl erstellt eine Reihe von Verzeichnissen und Skripten, die verwendet werden, um unser Live-System zu erstellen.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[2023-06-13 11:14:37] lb config &lt;br /&gt;
P: Creating config tree for a debian/bullseye/amd64 system&lt;br /&gt;
P: Symlinking hooks...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=Installation von zusätzliche Paket=&lt;br /&gt;
*Um zusätzliche Pakete in unserem Live-System zu installieren, fügen wir sie zur Datei config/package-lists/mylist.list.chroot hinzu. &lt;br /&gt;
*Wir erstellen die Datei und fügen die Namen der Pakete hinzu, die wir installieren möchten, jeweils eines pro Zeile&lt;br /&gt;
*'''vim config/package-lists/mylist.list.chroot'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
gparted&lt;br /&gt;
ntfs-3g&lt;br /&gt;
testdisk&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=Erstellen das Live-System=&lt;br /&gt;
*Jetzt können wir das Live-System mit folgendem Befehl erstellen:&lt;br /&gt;
*'''sudo lb build'''&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
Reading package lists... Done&lt;br /&gt;
Building dependency tree... Done&lt;br /&gt;
Reading state information... Done&lt;br /&gt;
[2023-06-13 12:27:33] lb source &lt;br /&gt;
P: Source stage disabled, skipping&lt;br /&gt;
P: Build completed successfully&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*Am Ende sollte eine ISO-Datei (binary.hybrid.iso) im aktuellen Verzeichnis erstellt werden. Dies ist unser bootfähiges Live-System.&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Erstellen_eines_Rettungssystems&amp;diff=46054</id>
		<title>Erstellen eines Rettungssystems</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Erstellen_eines_Rettungssystems&amp;diff=46054"/>
		<updated>2023-06-13T10:34:34Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Installation von live-build=&lt;br /&gt;
*'''sudo apt install live-build'''&lt;br /&gt;
=Erstellen ein neues Verzeichnis=&lt;br /&gt;
*Wir erstellen ein neues Verzeichnis für unser Live-System und wechseln in dieses Verzeichnis:&lt;br /&gt;
*'''mkdir ~/livecd &amp;amp;&amp;amp; cd ~/livecd'''&lt;br /&gt;
=Initialisierung das live-build-System=&lt;br /&gt;
*Wir initialisieren das live-build-System mit folgendem Befehl:&lt;br /&gt;
*'''lb config'''&lt;br /&gt;
*Dieser Befehl erstellt eine Reihe von Verzeichnissen und Skripten, die verwendet werden, um unser Live-System zu erstellen.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[2023-06-13 11:14:37] lb config &lt;br /&gt;
P: Creating config tree for a debian/bullseye/amd64 system&lt;br /&gt;
P: Symlinking hooks...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=Installation von zusätzliche Paket=&lt;br /&gt;
*Um zusätzliche Pakete in unserem Live-System zu installieren, fügen wir sie zur Datei config/package-lists/mylist.list.chroot hinzu. &lt;br /&gt;
*Wir erstellen die Datei und fügen die Namen der Pakete hinzu, die wir installieren möchten, jeweils eines pro Zeile&lt;br /&gt;
*'''vim config/package-lists/mylist.list.chroot'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
gparted&lt;br /&gt;
ntfs-3g&lt;br /&gt;
testdisk&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=Erstellen das Live-System=&lt;br /&gt;
*Jetzt können wir das Live-System mit folgendem Befehl erstellen:&lt;br /&gt;
*'''sudo lb build'''&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Reading package lists... Done&lt;br /&gt;
Building dependency tree... Done&lt;br /&gt;
Reading state information... Done&lt;br /&gt;
[2023-06-13 12:27:33] lb source &lt;br /&gt;
P: Source stage disabled, skipping&lt;br /&gt;
P: Build completed successfully&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*Am Ende sollte eine ISO-Datei (binary.hybrid.iso) im aktuellen Verzeichnis erstellt werden. Dies ist unser bootfähiges Live-System.&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Erstellen_eines_Rettungssystems&amp;diff=46034</id>
		<title>Erstellen eines Rettungssystems</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Erstellen_eines_Rettungssystems&amp;diff=46034"/>
		<updated>2023-06-13T09:20:43Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Installation von live-build=&lt;br /&gt;
*'''sudo apt install live-build'''&lt;br /&gt;
=Erstellen ein neues Verzeichnis=&lt;br /&gt;
*Wir erstellen ein neues Verzeichnis für unser Live-System und wechseln in dieses Verzeichnis:&lt;br /&gt;
*'''mkdir ~/livecd &amp;amp;&amp;amp; cd ~/livecd'''&lt;br /&gt;
=Initialisierung das live-build-System=&lt;br /&gt;
*Wir initialisieren das live-build-System mit folgendem Befehl:&lt;br /&gt;
*'''lb config'''&lt;br /&gt;
*Dieser Befehl erstellt eine Reihe von Verzeichnissen und Skripten, die verwendet werden, um unser Live-System zu erstellen.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[2023-06-13 11:14:37] lb config &lt;br /&gt;
P: Creating config tree for a debian/bullseye/amd64 system&lt;br /&gt;
P: Symlinking hooks...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=Installation von zusätzliche Paket=&lt;br /&gt;
*Um zusätzliche Pakete in unserem Live-System zu installieren, fügen wir sie zur Datei config/package-lists/mylist.list.chroot hinzu. &lt;br /&gt;
*Wir erstellen die Datei und fügen die Namen der Pakete hinzu, die wir installieren möchten, jeweils eines pro Zeile&lt;br /&gt;
*'''vim config/package-lists/mylist.list.chroot'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
gparted&lt;br /&gt;
ntfs-3g&lt;br /&gt;
testdisk&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=Erstellen das Live-System=&lt;br /&gt;
*Jetzt können wir das Live-System mit folgendem Befehl erstellen:&lt;br /&gt;
*'''sudo lb build'''&lt;br /&gt;
*Am Ende sollte eine ISO-Datei (binary.hybrid.iso) im aktuellen Verzeichnis erstellt werden. Dies ist unser bootfähiges Live-System.&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Erstellen_eines_Rettungssystems&amp;diff=46033</id>
		<title>Erstellen eines Rettungssystems</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Erstellen_eines_Rettungssystems&amp;diff=46033"/>
		<updated>2023-06-13T09:17:22Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: Die Seite wurde neu angelegt: „=Installation von live-build= *'''sudo apt install live-build''' =Erstellen ein neues Verzeichnis= *Wir erstellen ein neues Verzeichnis für unser Live-System…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Installation von live-build=&lt;br /&gt;
*'''sudo apt install live-build'''&lt;br /&gt;
=Erstellen ein neues Verzeichnis=&lt;br /&gt;
*Wir erstellen ein neues Verzeichnis für unser Live-System und wechseln in dieses Verzeichnis:&lt;br /&gt;
*'''mkdir ~/livecd &amp;amp;&amp;amp; cd ~/livecd'''&lt;br /&gt;
=Initialisierung das live-build-System=&lt;br /&gt;
*Wir initialisieren das live-build-System mit folgendem Befehl:&lt;br /&gt;
*'''lb config'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[2023-06-13 11:14:37] lb config &lt;br /&gt;
P: Creating config tree for a debian/bullseye/amd64 system&lt;br /&gt;
P: Symlinking hooks...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Rettungssysteme_erstellen&amp;diff=46032</id>
		<title>Rettungssysteme erstellen</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Rettungssysteme_erstellen&amp;diff=46032"/>
		<updated>2023-06-13T08:56:32Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Vorgefertigte Rettungssysteme]]&lt;br /&gt;
*[[Erstellen eines Rettungssystems]]&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=SystemRescueCd&amp;diff=46031</id>
		<title>SystemRescueCd</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=SystemRescueCd&amp;diff=46031"/>
		<updated>2023-06-13T08:41:01Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: Die Seite wurde neu angelegt: „*SystemRescueCd ist eine leistungsstarke Linux-Distribution, die speziell für Reparatur- und Wiederherstellungsaufgaben entwickelt wurde. Sie bietet eine umfa…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*SystemRescueCd ist eine leistungsstarke Linux-Distribution, die speziell für Reparatur- und Wiederherstellungsaufgaben entwickelt wurde. Sie bietet eine umfassende Sammlung von Tools, die für Systemadministratoren nützlich sind.&lt;br /&gt;
&lt;br /&gt;
=Hauptmerkmale von SystemRescueCd=&lt;br /&gt;
&lt;br /&gt;
*Breite Unterstützung von Dateisystemen: SystemRescueCd kann mit einer Vielzahl von Dateisystemen umgehen, was die Durchführung von Wiederherstellungs- und Reparaturarbeiten auf einer Vielzahl von Systemen erleichtert.&lt;br /&gt;
*Leistungsstarke Wiederherstellungs- und Reparaturtools: SystemRescueCd enthält eine breite Palette von Tools, darunter Dateisystem-Tools, Editoren, Partitionierungs-Tools und Netzwerktools.&lt;br /&gt;
*Flexibilität: Sie können SystemRescueCd als Live-CD, USB-Stick oder sogar über das Netzwerk booten.&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Vorgefertigte_Rettungssysteme&amp;diff=46030</id>
		<title>Vorgefertigte Rettungssysteme</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Vorgefertigte_Rettungssysteme&amp;diff=46030"/>
		<updated>2023-06-13T08:40:11Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Clonezilla]]&lt;br /&gt;
*[[RescueZilla]]&lt;br /&gt;
*[[SystemRescueCd]]&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=RescueZilla&amp;diff=46029</id>
		<title>RescueZilla</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=RescueZilla&amp;diff=46029"/>
		<updated>2023-06-13T08:32:45Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: Die Seite wurde neu angelegt: „*RescueZilla ist eine kostenlose Open-Source-Software, die ein leistungsstarkes Tool zum Klonen und Wiederherstellen von Festplatten- und Partitionen-Images bi…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*RescueZilla ist eine kostenlose Open-Source-Software, die ein leistungsstarkes Tool zum Klonen und Wiederherstellen von Festplatten- und Partitionen-Images bietet. Es eignet sich sowohl für Anfänger als auch für erfahrene Benutzer.&lt;br /&gt;
&lt;br /&gt;
=Hauptmerkmale von RescueZilla=&lt;br /&gt;
*Einfache Benutzeroberfläche: RescueZilla bietet eine intuitive grafische Benutzeroberfläche, die die Durchführung von Klon- und Wiederherstellungsaufgaben erleichtert.&lt;br /&gt;
*Vielseitige Kompatibilität: RescueZilla kann mit vielen verschiedenen Dateisystemen umgehen und auf einer Vielzahl von Geräten verwendet werden.&lt;br /&gt;
*Live-System: RescueZilla kann als Live-CD oder USB-Stick verwendet werden, so dass Sie nicht in Ihr Hauptbetriebssystem booten müssen, um es zu verwenden.&lt;br /&gt;
*Partition- und Festplatten-Cloning: Mit RescueZilla können Sie sowohl einzelne Partitionen als auch ganze Festplatten klonen.&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Vorgefertigte_Rettungssysteme&amp;diff=46028</id>
		<title>Vorgefertigte Rettungssysteme</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Vorgefertigte_Rettungssysteme&amp;diff=46028"/>
		<updated>2023-06-13T08:31:57Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Clonezilla]]&lt;br /&gt;
*[[RescueZilla]]&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Clonezilla&amp;diff=46027</id>
		<title>Clonezilla</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Clonezilla&amp;diff=46027"/>
		<updated>2023-06-13T08:26:22Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: Die Seite wurde neu angelegt: „*Clonezilla ist ein freies Open-Source-Tool zum Klonen von Festplatten und Partitionen.  *Es ist äußerst nützlich für die Masseninstallation auf mehreren P…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*Clonezilla ist ein freies Open-Source-Tool zum Klonen von Festplatten und Partitionen. &lt;br /&gt;
*Es ist äußerst nützlich für die Masseninstallation auf mehreren PCs, die Sicherung von Systemen oder die Wiederherstellung von gesicherten Systemen.&lt;br /&gt;
&lt;br /&gt;
=Hauptmerkmale von Clonezilla=&lt;br /&gt;
*Verschiedene Klonoptionen: Clonezilla ermöglicht es Ihnen, eine gesamte Festplatte oder einzelne Partitionen zu klonen.&lt;br /&gt;
*Unterstützung mehrerer Dateisysteme: Clonezilla unterstützt eine Vielzahl von Dateisystemen, einschließlich ext2, ext3, ext4, xfs, ntfs und viele andere.&lt;br /&gt;
*Multicast-Unterstützung: Clonezilla ermöglicht die gleichzeitige Klonung mehrerer Maschinen über das Netzwerk, was es zu einem idealen Tool für die Masseninstallation macht.&lt;br /&gt;
*Kompressions- und Verschlüsselungsoptionen: Clonezilla bietet Optionen zur Kompression und Verschlüsselung von Image-Dateien, um Speicherplatz zu sparen und die Sicherheit zu erhöhen.&lt;br /&gt;
*Wiederherstellungsfeatures: Clonezilla ermöglicht es Ihnen nicht nur, Images zu erstellen, sondern auch Images auf neue Festplatten wiederherzustellen. Dies kann sehr nützlich sein, wenn Sie auf eine größere Festplatte aufrüsten oder ein System nach einem Ausfall wiederherstellen müssen.&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Vorgefertigte_Rettungssysteme&amp;diff=46026</id>
		<title>Vorgefertigte Rettungssysteme</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Vorgefertigte_Rettungssysteme&amp;diff=46026"/>
		<updated>2023-06-13T08:25:13Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: Die Seite wurde neu angelegt: „*Clonezilla“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Clonezilla]]&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Rettungssysteme_erstellen&amp;diff=46025</id>
		<title>Rettungssysteme erstellen</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Rettungssysteme_erstellen&amp;diff=46025"/>
		<updated>2023-06-13T08:22:00Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: Die Seite wurde neu angelegt: „*Vorgefertigte Rettungssysteme“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Vorgefertigte Rettungssysteme]]&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Echo&amp;diff=45178</id>
		<title>Echo</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Echo&amp;diff=45178"/>
		<updated>2023-05-17T06:44:53Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: /* Beispiel 2: Variablenwert ausgeben */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= echo =&lt;br /&gt;
* Das '''echo'''-Kommando in Unix- und Linux-Betriebssystemen wird verwendet, um Zeichenketten auf die Konsole (Standardausgabe, stdout) auszugeben. Es ist äußerst nützlich für die Skripterstellung, zum Testen und Debuggen und zum Ausgeben von Status- und Fehlermeldungen.&lt;br /&gt;
* '''echo''' kann auch verwendet werden, um Variablenwerte auszugeben, Umgebungsvariablen zu setzen und spezielle Zeichen zu verarbeiten.&lt;br /&gt;
&lt;br /&gt;
==== Beispiel 1: Einfache Zeichenkette ausgeben ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &amp;quot;Hallo, Welt!&amp;quot;&lt;br /&gt;
Hallo, Welt!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In diesem Beispiel gibt das '''echo'''-Kommando die Zeichenkette &amp;quot;Hallo, Welt!&amp;quot; auf die Konsole aus.&lt;br /&gt;
==== Beispiel 2: Variablenwert ausgeben ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ NAME=&amp;quot;Xinux&amp;quot;&lt;br /&gt;
$ echo &amp;quot;Hallo, $NAME!&amp;quot;&lt;br /&gt;
Hallo, Xinux!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In diesem Beispiel wird eine Variable '''NAME''' mit dem Wert &amp;quot;Xinux&amp;quot; erstellt. Das '''echo'''-Kommando gibt dann &amp;quot;Hallo, Xinux!&amp;quot; aus, wobei '''$NAME''' durch den Wert der Variable ersetzt wird.&lt;br /&gt;
&lt;br /&gt;
=== Wichtige Punkte ===&lt;br /&gt;
&lt;br /&gt;
* Um spezielle Zeichen zu verarbeiten (z.B. '\n' für eine neue Zeile, '\t' für einen Tabstopp), verwenden Sie die '''-e''' Option mit dem '''echo'''-Befehl.&lt;br /&gt;
* '''echo''' hat auch eine '''-n''' Option, die verhindert, dass ein neuer Zeilenabschluss am Ende der Ausgabe hinzugefügt wird.&lt;br /&gt;
* Obwohl '''echo''' in fast allen Shells verfügbar ist, gibt es Unterschiede in der Funktionalität und den unterstützten Optionen zwischen verschiedenen Shells und Betriebssystemen. Es ist immer gut, die spezifischen '''echo'''-Manpages für Ihr System zu überprüfen.&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Echo&amp;diff=45137</id>
		<title>Echo</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Echo&amp;diff=45137"/>
		<updated>2023-05-16T07:00:26Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: Die Seite wurde neu angelegt: „= echo = * Das '''echo'''-Kommando in Unix- und Linux-Betriebssystemen wird verwendet, um Zeichenketten auf die Konsole (Standardausgabe, stdout) auszugeben. E…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= echo =&lt;br /&gt;
* Das '''echo'''-Kommando in Unix- und Linux-Betriebssystemen wird verwendet, um Zeichenketten auf die Konsole (Standardausgabe, stdout) auszugeben. Es ist äußerst nützlich für die Skripterstellung, zum Testen und Debuggen und zum Ausgeben von Status- und Fehlermeldungen.&lt;br /&gt;
* '''echo''' kann auch verwendet werden, um Variablenwerte auszugeben, Umgebungsvariablen zu setzen und spezielle Zeichen zu verarbeiten.&lt;br /&gt;
&lt;br /&gt;
==== Beispiel 1: Einfache Zeichenkette ausgeben ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &amp;quot;Hallo, Welt!&amp;quot;&lt;br /&gt;
Hallo, Welt!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In diesem Beispiel gibt das '''echo'''-Kommando die Zeichenkette &amp;quot;Hallo, Welt!&amp;quot; auf die Konsole aus.&lt;br /&gt;
==== Beispiel 2: Variablenwert ausgeben ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ NAME=&amp;quot;Xinux&amp;quot;&lt;br /&gt;
$ echo &amp;quot;Hallo, $NAME!&amp;quot;&lt;br /&gt;
Hallo, Xinux!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In diesem Beispiel wird eine Variable '''NAME''' mit dem Wert &amp;quot;OpenAI&amp;quot; erstellt. Das '''echo'''-Kommando gibt dann &amp;quot;Hallo, Xinux!&amp;quot; aus, wobei '''$NAME''' durch den Wert der Variable ersetzt wird.&lt;br /&gt;
&lt;br /&gt;
=== Wichtige Punkte ===&lt;br /&gt;
&lt;br /&gt;
* Um spezielle Zeichen zu verarbeiten (z.B. '\n' für eine neue Zeile, '\t' für einen Tabstopp), verwenden Sie die '''-e''' Option mit dem '''echo'''-Befehl.&lt;br /&gt;
* '''echo''' hat auch eine '''-n''' Option, die verhindert, dass ein neuer Zeilenabschluss am Ende der Ausgabe hinzugefügt wird.&lt;br /&gt;
* Obwohl '''echo''' in fast allen Shells verfügbar ist, gibt es Unterschiede in der Funktionalität und den unterstützten Optionen zwischen verschiedenen Shells und Betriebssystemen. Es ist immer gut, die spezifischen '''echo'''-Manpages für Ihr System zu überprüfen.&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Clear&amp;diff=45136</id>
		<title>Clear</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Clear&amp;diff=45136"/>
		<updated>2023-05-16T06:35:31Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
*Das clear-Kommando ist ein einfacher und grundlegender Befehl in Unix- und Linux-Betriebssystemen. Seine Funktion ist es, den Inhalt des Terminals oder der Konsole zu löschen, in der es ausgeführt wird. Dies kann nützlich sein, um Unordnung zu beseitigen und den Bildschirm für neue Befehle und Ausgaben zu räumen.&lt;br /&gt;
*Die Verwendung des clear-Befehls ist sehr einfach - geben Sie einfach clear in die Konsole ein und drücken Sie die Eingabetaste. Es gibt keine zusätzlichen Optionen oder Argumente für diesen Befehl.&lt;br /&gt;
*Es ist wichtig zu beachten, dass clear nicht die Befehlshistorie oder irgendetwas ähnliches löscht. Es löscht lediglich die aktuelle Anzeige im Terminal. Sie können immer noch durch die vorherigen Befehle und Ausgaben scrollen, wenn Ihr Terminal dies unterstützt.&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Clear&amp;diff=45135</id>
		<title>Clear</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Clear&amp;diff=45135"/>
		<updated>2023-05-16T06:35:24Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: Die Seite wurde neu angelegt: „=clear= *Das clear-Kommando ist ein einfacher und grundlegender Befehl in Unix- und Linux-Betriebssystemen. Seine Funktion ist es, den Inhalt des Terminals ode…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=clear=&lt;br /&gt;
*Das clear-Kommando ist ein einfacher und grundlegender Befehl in Unix- und Linux-Betriebssystemen. Seine Funktion ist es, den Inhalt des Terminals oder der Konsole zu löschen, in der es ausgeführt wird. Dies kann nützlich sein, um Unordnung zu beseitigen und den Bildschirm für neue Befehle und Ausgaben zu räumen.&lt;br /&gt;
*Die Verwendung des clear-Befehls ist sehr einfach - geben Sie einfach clear in die Konsole ein und drücken Sie die Eingabetaste. Es gibt keine zusätzlichen Optionen oder Argumente für diesen Befehl.&lt;br /&gt;
*Es ist wichtig zu beachten, dass clear nicht die Befehlshistorie oder irgendetwas ähnliches löscht. Es löscht lediglich die aktuelle Anzeige im Terminal. Sie können immer noch durch die vorherigen Befehle und Ausgaben scrollen, wenn Ihr Terminal dies unterstützt.&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Fehlersuche&amp;diff=45134</id>
		<title>Fehlersuche</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Fehlersuche&amp;diff=45134"/>
		<updated>2023-05-16T06:22:20Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: Die Seite wurde neu angelegt: „=== Grundlegendes ===  * Die '''Fehlersuche''' oder '''Debugging''' ist ein notwendiger Prozess in der Shell-Programmierung, genau wie in jeder anderen Art von…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Grundlegendes ===&lt;br /&gt;
&lt;br /&gt;
* Die '''Fehlersuche''' oder '''Debugging''' ist ein notwendiger Prozess in der Shell-Programmierung, genau wie in jeder anderen Art von Programmierung. Es bezieht sich auf die Identifizierung und Korrektur von Problemen oder &amp;quot;Bugs&amp;quot; in Ihrem Skript.&lt;br /&gt;
* Bash bietet mehrere eingebaute Werkzeuge und Techniken zur Fehlersuche, wie die Verwendung von Echo-Anweisungen, die Verwendung der Option `-x` beim Start der Shell oder des Skripts, und das Einfangen von Signalen.&lt;br /&gt;
&lt;br /&gt;
=== Wichtige Punkte ===&lt;br /&gt;
&lt;br /&gt;
* '''Echo-Befehle''': Das Einfügen von Echo-Befehlen an verschiedenen Stellen in Ihrem Skript kann helfen zu bestimmen, wo etwas schief läuft. Sie können Variablenwerte ausgeben oder einfach eine Nachricht anzeigen, um den Programmfluss zu verfolgen.&lt;br /&gt;
* '''Option -x''': Wenn Sie ein Bash-Skript mit der Option `-x` starten (z.B. `bash -x myscript.sh`), wird jeder Befehl ausgegeben, bevor er ausgeführt wird. Dies ist sehr nützlich, um zu sehen, was genau passiert und wo ein Fehler auftritt.&lt;br /&gt;
* '''Trap-Befehl''': Mit dem `trap`-Befehl können Sie bestimmte Aktionen oder Funktionen auslösen, wenn ein bestimmtes Signal empfangen wird. Dies kann verwendet werden, um saubere Aufräumarbeiten durchzuführen oder Debugging-Informationen auszugeben, wenn Ihr Skript abbricht oder beendet wird.&lt;br /&gt;
* '''set -e''': Durch das Hinzufügen von `set -e` am Anfang eines Skripts können Sie es so einstellen, dass es sofort beendet wird, wenn ein Befehl fehlschlägt.&lt;br /&gt;
&lt;br /&gt;
=== Abschließend ===&lt;br /&gt;
&lt;br /&gt;
* Die Fehlersuche in Bash-Skripten erfordert Geduld und Praxis, aber mit der Zeit und Erfahrung werden Sie effizienter darin werden. Es ist wichtig, sich daran zu erinnern, dass eine gute Fehlerbehandlung und das Schreiben von robustem Code von Anfang an viel Zeit bei der Fehlersuche sparen kann.&lt;br /&gt;
* Es gibt auch fortgeschrittene Debugging-Techniken und -Werkzeuge wie `bashdb`, eine Bash-Shell-Debugger-Anwendung, die ähnlich wie `gdb` für C funktioniert. Solche Tools können nützlich sein, wenn Sie mit komplexeren Skripten oder Skriptproblemen arbeiten.&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Fehlerkanal&amp;diff=45133</id>
		<title>Fehlerkanal</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Fehlerkanal&amp;diff=45133"/>
		<updated>2023-05-16T06:19:47Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: Die Seite wurde neu angelegt: „=== Grundlegendes ===  * Im Kontext der Unix- und Linux-Shell-Programmierung bezieht sich der '''Fehlerkanal''' oder '''Standard Error''' (stderr) auf den Ausg…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Grundlegendes ===&lt;br /&gt;
&lt;br /&gt;
* Im Kontext der Unix- und Linux-Shell-Programmierung bezieht sich der '''Fehlerkanal''' oder '''Standard Error''' (stderr) auf den Ausgabestream, der normalerweise verwendet wird, um Fehlermeldungen oder Diagnoseinformationen auszugeben.&lt;br /&gt;
* Standardmäßig werden die Ausgaben von stderr auf den Bildschirm (genauer gesagt auf das Terminal) ausgegeben, genau wie die Standardausgabe (stdout). Allerdings sind sie zwei getrennte Kanäle.&lt;br /&gt;
* In Bash und anderen Shells können Sie die Ausgaben von stderr und stdout unabhängig voneinander umleiten. Zum Beispiel können Sie Fehlermeldungen in eine Datei umleiten, während Sie die normalen Ausgaben auf dem Bildschirm lassen.&lt;br /&gt;
&lt;br /&gt;
=== Wichtige Punkte ===&lt;br /&gt;
&lt;br /&gt;
* Die Umleitung des Fehlerkanals wird oft in Skripts verwendet, um Fehlerprotokolle zu erstellen. Mit dem Befehl `command 2&amp;gt; errorfile` werden z.B. die Fehlermeldungen des `command` in die Datei `errorfile` umgeleitet.&lt;br /&gt;
* Es ist auch möglich, stderr und stdout in die gleiche Datei umzuleiten, indem man `command &amp;gt; file 2&amp;gt;&amp;amp;1` verwendet. Hierbei bedeutet `2&amp;gt;&amp;amp;1`, dass stderr (Kanal 2) an den Ort von stdout (Kanal 1) umgeleitet wird.&lt;br /&gt;
* Beachten Sie, dass die Reihenfolge wichtig ist. `command &amp;gt; file 2&amp;gt;&amp;amp;1` funktioniert, während `command 2&amp;gt;&amp;amp;1 &amp;gt; file` nicht das erwartete Ergebnis liefert. Das liegt daran, dass Umleitungen in der Reihenfolge ausgewertet werden, in der sie erscheinen.&lt;br /&gt;
&lt;br /&gt;
=== Abschließend ===&lt;br /&gt;
&lt;br /&gt;
* Die effektive Nutzung des Fehlerkanals ist ein wichtiger Bestandteil der Shell-Programmierung und -Skripting. Durch das Verständnis, wie stderr funktioniert und wie man es umleitet, können Sie robustere Skripte erstellen und besser mit Fehlern umgehen.&lt;br /&gt;
* Beachten Sie, dass die Umleitung von stderr und stdout zwar in den meisten Shells ähnlich ist, es aber kleine Unterschiede geben kann. Lesen Sie die Dokumentation Ihrer spezifischen Shell für genaue Informationen.&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Exit-Status&amp;diff=45132</id>
		<title>Exit-Status</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Exit-Status&amp;diff=45132"/>
		<updated>2023-05-16T06:11:16Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
In der Bash-Shell, wie auch in den meisten anderen Shells und Skriptsprachen, ist der Exit-Status oder Rückgabewert eines Befehls, eines Skripts oder einer Funktion sehr wichtig. Hier sind einige wichtige Punkte dazu&lt;br /&gt;
&lt;br /&gt;
=== Grundlegendes ===&lt;br /&gt;
&lt;br /&gt;
* Der '''Exit-Status''' ist eine Ganzzahl, die von einem abgeschlossenen Unix-Befehl zurückgegeben wird. Diese Zahl liefert Informationen darüber, ob der Befehl erfolgreich abgeschlossen wurde oder ob Fehler aufgetreten sind.&lt;br /&gt;
* Der Exit-Status wird von der Shell-Variablen '''$?''' dargestellt. Unmittelbar nach der Ausführung eines Befehls können Sie den Exit-Status mit '''echo $?''' ausgeben lassen.&lt;br /&gt;
* Normalerweise bedeutet ein Exit-Status von 0, dass der Befehl erfolgreich abgeschlossen wurde. Jeder andere Wert (1-255) deutet darauf hin, dass ein Fehler aufgetreten ist.&lt;br /&gt;
&lt;br /&gt;
=== Wichtige Punkte ===&lt;br /&gt;
&lt;br /&gt;
* Es ist wichtig zu verstehen, dass der Exit-Status nicht nur den Erfolg oder Misserfolg des Befehls anzeigt, sondern oft auch spezifische Fehlercodes liefert, die Aufschluss darüber geben, welcher Fehler aufgetreten ist.&lt;br /&gt;
* Bei der Erstellung von Bash-Skripten sollten Sie immer sicherstellen, dass Ihre Skripte und Funktionen geeignete Exit-Status zurückgeben. Dies erleichtert das Debugging und die Fehlersuche enorm.&lt;br /&gt;
* Es ist auch wichtig, den Exit-Status in Bedingungstests zu berücksichtigen. Beispielsweise können Sie `if`-Anweisungen verwenden, um auf der Grundlage des Exit-Status unterschiedliche Aktionen auszuführen.&lt;br /&gt;
&lt;br /&gt;
=== Abschließend ===&lt;br /&gt;
&lt;br /&gt;
* Der Exit-Status ist ein zentraler Bestandteil der Bash-Shell und der Skriptprogrammierung. Durch das Verständnis und die korrekte Verwendung von Exit-Statuscodes können Sie robustere und fehlertolerantere Skripte erstellen.&lt;br /&gt;
* Es ist auch wichtig, dass Sie die Dokumentation für spezifische Befehle lesen, da verschiedene Befehle unterschiedliche Exit-Statuscodes verwenden können, um verschiedene Arten von Fehlern zu signalisieren.&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Exit-Status&amp;diff=45131</id>
		<title>Exit-Status</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Exit-Status&amp;diff=45131"/>
		<updated>2023-05-16T06:10:48Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Grundlegendes ===&lt;br /&gt;
&lt;br /&gt;
* Der '''Exit-Status''' ist eine Ganzzahl, die von einem abgeschlossenen Unix-Befehl zurückgegeben wird. Diese Zahl liefert Informationen darüber, ob der Befehl erfolgreich abgeschlossen wurde oder ob Fehler aufgetreten sind.&lt;br /&gt;
* Der Exit-Status wird von der Shell-Variablen '''$?''' dargestellt. Unmittelbar nach der Ausführung eines Befehls können Sie den Exit-Status mit '''echo $?''' ausgeben lassen.&lt;br /&gt;
* Normalerweise bedeutet ein Exit-Status von 0, dass der Befehl erfolgreich abgeschlossen wurde. Jeder andere Wert (1-255) deutet darauf hin, dass ein Fehler aufgetreten ist.&lt;br /&gt;
&lt;br /&gt;
=== Wichtige Punkte ===&lt;br /&gt;
&lt;br /&gt;
* Es ist wichtig zu verstehen, dass der Exit-Status nicht nur den Erfolg oder Misserfolg des Befehls anzeigt, sondern oft auch spezifische Fehlercodes liefert, die Aufschluss darüber geben, welcher Fehler aufgetreten ist.&lt;br /&gt;
* Bei der Erstellung von Bash-Skripten sollten Sie immer sicherstellen, dass Ihre Skripte und Funktionen geeignete Exit-Status zurückgeben. Dies erleichtert das Debugging und die Fehlersuche enorm.&lt;br /&gt;
* Es ist auch wichtig, den Exit-Status in Bedingungstests zu berücksichtigen. Beispielsweise können Sie `if`-Anweisungen verwenden, um auf der Grundlage des Exit-Status unterschiedliche Aktionen auszuführen.&lt;br /&gt;
&lt;br /&gt;
=== Abschließend ===&lt;br /&gt;
&lt;br /&gt;
* Der Exit-Status ist ein zentraler Bestandteil der Bash-Shell und der Skriptprogrammierung. Durch das Verständnis und die korrekte Verwendung von Exit-Statuscodes können Sie robustere und fehlertolerantere Skripte erstellen.&lt;br /&gt;
* Es ist auch wichtig, dass Sie die Dokumentation für spezifische Befehle lesen, da verschiedene Befehle unterschiedliche Exit-Statuscodes verwenden können, um verschiedene Arten von Fehlern zu signalisieren.&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Exit-Status&amp;diff=45130</id>
		<title>Exit-Status</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Exit-Status&amp;diff=45130"/>
		<updated>2023-05-16T06:07:11Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: Die Seite wurde neu angelegt: „In der Bash-Shell, wie auch in den meisten anderen Shells und Skriptsprachen, ist der Exit-Status oder Rückgabewert eines Befehls, eines Skripts oder einer Fu…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In der Bash-Shell, wie auch in den meisten anderen Shells und Skriptsprachen, ist der Exit-Status oder Rückgabewert eines Befehls, eines Skripts oder einer Funktion sehr wichtig. Hier sind einige wichtige Punkte dazu:&lt;br /&gt;
&lt;br /&gt;
==Grundlegendes==&lt;br /&gt;
*Ein Exit-Status ist eine Ganzzahl, die von einem abgeschlossenen Unix-Befehl zurückgegeben wird. Diese Zahl liefert Informationen darüber, ob der Befehl erfolgreich abgeschlossen wurde oder ob Fehler aufgetreten sind.&lt;br /&gt;
*Der Exit-Status wird von der Shell-Variablen `$?` dargestellt. Unmittelbar nach der Ausführung eines Befehls können Sie den Exit-Status mit `echo $?` ausgeben lassen.&lt;br /&gt;
*Normalerweise bedeutet ein Exit-Status von 0, dass der Befehl erfolgreich abgeschlossen wurde. Jeder andere Wert (1-255) deutet darauf hin, dass ein Fehler aufgetreten ist.&lt;br /&gt;
&lt;br /&gt;
==Wichtige Punkte==&lt;br /&gt;
*Es ist wichtig zu verstehen, dass der Exit-Status nicht nur den Erfolg oder Misserfolg des Befehls anzeigt, sondern oft auch spezifische Fehlercodes liefert, die Aufschluss darüber geben, welcher Fehler aufgetreten ist.&lt;br /&gt;
*Bei der Erstellung von Bash-Skripten sollten Sie immer sicherstellen, dass Ihre Skripte und Funktionen geeignete Exit-Status zurückgeben. Dies erleichtert das Debugging und die Fehlersuche enorm.&lt;br /&gt;
*Es ist auch wichtig, den Exit-Status in Bedingungstests zu berücksichtigen. Beispielsweise können Sie `if`-Anweisungen verwenden, um auf der Grundlage des Exit-Status unterschiedliche Aktionen auszuführen.&lt;br /&gt;
&lt;br /&gt;
==Abschließend==&lt;br /&gt;
*Der Exit-Status ist ein zentraler Bestandteil der Bash-Shell und der Skriptprogrammierung. Durch das Verständnis und die korrekte Verwendung von Exit-Statuscodes können Sie robustere und fehlertolerantere Skripte erstellen. Es ist auch wichtig, dass Sie die Dokumentation für spezifische Befehle lesen, da verschiedene Befehle unterschiedliche Exit-Statuscodes verwenden können, um verschiedene Arten von Fehlern zu signalisieren.&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Docker-swarm_install&amp;diff=45095</id>
		<title>Docker-swarm install</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Docker-swarm_install&amp;diff=45095"/>
		<updated>2023-05-12T10:18:41Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Docker-swarm installieren=&lt;br /&gt;
&lt;br /&gt;
Wir öffnen ein Terminal und führen die folgenden Befehle aus, um Docker zu installieren:&lt;br /&gt;
*sudo apt update&lt;br /&gt;
*sudo apt install apt-transport-https ca-certificates curl software-properties-common&lt;br /&gt;
*curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -&lt;br /&gt;
*sudo add-apt-repository &amp;quot;deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable&amp;quot;&lt;br /&gt;
*sudo apt update&lt;br /&gt;
*sudo apt install docker-ce&lt;br /&gt;
*systemctl start docker&lt;br /&gt;
*systemctl enable docker&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Docker-swarm_install&amp;diff=45094</id>
		<title>Docker-swarm install</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Docker-swarm_install&amp;diff=45094"/>
		<updated>2023-05-12T10:18:25Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Docker installieren&lt;br /&gt;
&lt;br /&gt;
Wir öffnen ein Terminal und führen die folgenden Befehle aus, um Docker zu installieren:&lt;br /&gt;
*sudo apt update&lt;br /&gt;
*sudo apt install apt-transport-https ca-certificates curl software-properties-common&lt;br /&gt;
*curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -&lt;br /&gt;
*sudo add-apt-repository &amp;quot;deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable&amp;quot;&lt;br /&gt;
*sudo apt update&lt;br /&gt;
*sudo apt install docker-ce&lt;br /&gt;
*systemctl start docker&lt;br /&gt;
*systemctl enable docker&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45093</id>
		<title>Dockerfile</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45093"/>
		<updated>2023-05-12T09:34:10Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Was ist eine Dockerfile?=&lt;br /&gt;
*Eine Dockerfile ist eine Textdatei, die Anweisungen zur Erstellung eines Docker-Images enthält.&lt;br /&gt;
*Es ermöglicht eine automatisierte, reproduzierbare und versionierbare Erstellung von Docker-Images.&lt;br /&gt;
&lt;br /&gt;
=Grundlegende Struktur eines Dockerfiles=&lt;br /&gt;
*Jede Zeile im Dockerfile stellt eine Anweisung dar.&lt;br /&gt;
*Anweisungen beginnen in der Regel mit einem Schlüsselwort gefolgt von Argumenten.&lt;br /&gt;
*Kommentare können mit einem &amp;quot;#&amp;quot; eingeleitet werden.&lt;br /&gt;
&lt;br /&gt;
=Wichtige Dockerfile-Anweisungen=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Schlüsselwort&lt;br /&gt;
! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| FROM&lt;br /&gt;
| Definiert das Basis-Image, von dem das neue Image erstellt wird.&lt;br /&gt;
|-&lt;br /&gt;
| RUN&lt;br /&gt;
| Führt einen Shell-Befehl innerhalb des Images aus.&lt;br /&gt;
|-&lt;br /&gt;
| CMD&lt;br /&gt;
| Gibt den Standardbefehl an, der beim Starten des Containers ausgeführt wird.&lt;br /&gt;
|-&lt;br /&gt;
| ENTRYPOINT&lt;br /&gt;
| Legt den Einstiegspunkt für den Container fest; wird üblicherweise für ausführbare Anwendungen verwendet.&lt;br /&gt;
|-&lt;br /&gt;
| WORKDIR&lt;br /&gt;
| Legt das Arbeitsverzeichnis für nachfolgende Anweisungen fest.&lt;br /&gt;
|-&lt;br /&gt;
| COPY&lt;br /&gt;
| Kopiert Dateien oder Verzeichnisse vom lokalen System in das Image.&lt;br /&gt;
|-&lt;br /&gt;
| ADD&lt;br /&gt;
| Ähnlich wie &amp;quot;COPY&amp;quot;, kann jedoch auch remote-Dateien hinzufügen oder Archive automatisch entpacken.&lt;br /&gt;
|-&lt;br /&gt;
| EXPOSE&lt;br /&gt;
| Informiert Docker, dass der Container auf einem bestimmten Netzwerk-Port lauscht.&lt;br /&gt;
|-&lt;br /&gt;
| ENV&lt;br /&gt;
| Setzt Umgebungsvariablen für das Image.&lt;br /&gt;
|-&lt;br /&gt;
| VOLUME&lt;br /&gt;
| Erstellt einen Speicherbereich für Daten, die von einem Container verwendet werden.&lt;br /&gt;
|-&lt;br /&gt;
| USER&lt;br /&gt;
| Setzt den Benutzer für nachfolgende Anweisungen und für den laufenden Container.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Best Practices für Dockerfiles=&lt;br /&gt;
*Verwenden eines minimalen Basis-Images &lt;br /&gt;
**Verwenden eines Images wie &amp;quot;alpine&amp;quot; oder &amp;quot;ubuntu-slim&amp;quot;, um die Größe des endgültigen Images zu reduzieren.&lt;br /&gt;
*Ordnen von mehrzeilige Argumente, um die Lesbarkeit zu verbessern und die Größe des Docker-Images zu reduzieren.&lt;br /&gt;
*Verwenden von &amp;quot;COPY&amp;quot; statt &amp;quot;ADD&amp;quot;, es sei denn, wir benötigen spezielle Funktionen von &amp;quot;ADD&amp;quot;.&lt;br /&gt;
*Führen Sie mehrere &amp;quot;RUN&amp;quot;-Anweisungen in einer Zeile zusammen, um die Größe des Images zu minimieren.&lt;br /&gt;
*Verwenden von Umgebungsvariablen für konfigurierbare Werte, um die Wiederverwendung des Images zu fördern.&lt;br /&gt;
*Bereinigen von temporäre Dateien und Cache nach der Installation von Paketen.&lt;br /&gt;
*Verwenden von &amp;quot;.dockerignore&amp;quot;, um unnötige Dateien aus dem Build-Kontext auszuschließen.&lt;br /&gt;
*Starten von Anwendungen im Container als Nicht-Root-Benutzer.&lt;br /&gt;
&lt;br /&gt;
==Beispiel Ubuntu mit Apache Server==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=docker&amp;gt;&lt;br /&gt;
# Wir verwenden ein offizielles Ubuntu slim Image als Basis-Image&lt;br /&gt;
FROM ubuntu:20.04-slim&lt;br /&gt;
&lt;br /&gt;
# Aktualisieren des Systems / Installation des Apache-Webserver und Bereinigung der enstandenen Cache Dateien&lt;br /&gt;
RUN apt-get update &amp;amp;&amp;amp; \&lt;br /&gt;
    apt-get install -y apache2 &amp;amp;&amp;amp; \&lt;br /&gt;
    apt-get clean &amp;amp;&amp;amp; \&lt;br /&gt;
    rm -rf /var/lib/apt/lists/*&lt;br /&gt;
&lt;br /&gt;
# Erstellen einer einfachen &amp;quot;Hello World&amp;quot;-HTML-Datei&lt;br /&gt;
RUN echo '&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;Hello World&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;lt;h1&amp;gt;Hello World&amp;lt;/h1&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;' &amp;gt; /var/www/html/index.html&lt;br /&gt;
&lt;br /&gt;
# Exposen des Ports 80&lt;br /&gt;
EXPOSE 80&lt;br /&gt;
&lt;br /&gt;
# Automatischer start des Apache-Webserver, wenn der Container gestartet wird&lt;br /&gt;
CMD [&amp;quot;/usr/sbin/apache2ctl&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot;]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45076</id>
		<title>Dockerfile</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45076"/>
		<updated>2023-05-11T14:01:30Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: /* Dockerfile erstellen und Image bauen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Was ist eine Dockerfile?=&lt;br /&gt;
*Eine Dockerfile ist eine Textdatei, die Anweisungen zur Erstellung eines Docker-Images enthält.&lt;br /&gt;
*Es ermöglicht eine automatisierte, reproduzierbare und versionierbare Erstellung von Docker-Images.&lt;br /&gt;
&lt;br /&gt;
=Grundlegende Struktur eines Dockerfiles=&lt;br /&gt;
*Jede Zeile im Dockerfile stellt eine Anweisung dar.&lt;br /&gt;
*Anweisungen beginnen in der Regel mit einem Schlüsselwort gefolgt von Argumenten.&lt;br /&gt;
*Kommentare können mit einem &amp;quot;#&amp;quot; eingeleitet werden.&lt;br /&gt;
&lt;br /&gt;
=Wichtige Dockerfile-Anweisungen=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Schlüsselwort&lt;br /&gt;
! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| FROM&lt;br /&gt;
| Definiert das Basis-Image, von dem das neue Image erstellt wird.&lt;br /&gt;
|-&lt;br /&gt;
| RUN&lt;br /&gt;
| Führt einen Shell-Befehl innerhalb des Images aus.&lt;br /&gt;
|-&lt;br /&gt;
| CMD&lt;br /&gt;
| Gibt den Standardbefehl an, der beim Starten des Containers ausgeführt wird.&lt;br /&gt;
|-&lt;br /&gt;
| ENTRYPOINT&lt;br /&gt;
| Legt den Einstiegspunkt für den Container fest; wird üblicherweise für ausführbare Anwendungen verwendet.&lt;br /&gt;
|-&lt;br /&gt;
| WORKDIR&lt;br /&gt;
| Legt das Arbeitsverzeichnis für nachfolgende Anweisungen fest.&lt;br /&gt;
|-&lt;br /&gt;
| COPY&lt;br /&gt;
| Kopiert Dateien oder Verzeichnisse vom lokalen System in das Image.&lt;br /&gt;
|-&lt;br /&gt;
| ADD&lt;br /&gt;
| Ähnlich wie &amp;quot;COPY&amp;quot;, kann jedoch auch remote-Dateien hinzufügen oder Archive automatisch entpacken.&lt;br /&gt;
|-&lt;br /&gt;
| EXPOSE&lt;br /&gt;
| Informiert Docker, dass der Container auf einem bestimmten Netzwerk-Port lauscht.&lt;br /&gt;
|-&lt;br /&gt;
| ENV&lt;br /&gt;
| Setzt Umgebungsvariablen für das Image.&lt;br /&gt;
|-&lt;br /&gt;
| VOLUME&lt;br /&gt;
| Erstellt einen Speicherbereich für Daten, die von einem Container verwendet werden.&lt;br /&gt;
|-&lt;br /&gt;
| USER&lt;br /&gt;
| Setzt den Benutzer für nachfolgende Anweisungen und für den laufenden Container.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Best Practices für Dockerfiles=&lt;br /&gt;
*Verwenden eines minimalen Basis-Images &lt;br /&gt;
**Verwenden eines Images wie &amp;quot;alpine&amp;quot; oder &amp;quot;ubuntu-slim&amp;quot;, um die Größe des endgültigen Images zu reduzieren.&lt;br /&gt;
*Ordnen von mehrzeilige Argumente, um die Lesbarkeit zu verbessern und die Größe des Docker-Images zu reduzieren.&lt;br /&gt;
*Verwenden von &amp;quot;COPY&amp;quot; statt &amp;quot;ADD&amp;quot;, es sei denn, wir benötigen spezielle Funktionen von &amp;quot;ADD&amp;quot;.&lt;br /&gt;
*Führen Sie mehrere &amp;quot;RUN&amp;quot;-Anweisungen in einer Zeile zusammen, um die Größe des Images zu minimieren.&lt;br /&gt;
*Verwenden von Umgebungsvariablen für konfigurierbare Werte, um die Wiederverwendung des Images zu fördern.&lt;br /&gt;
*Bereinigen von temporäre Dateien und Cache nach der Installation von Paketen.&lt;br /&gt;
*Verwenden von &amp;quot;.dockerignore&amp;quot;, um unnötige Dateien aus dem Build-Kontext auszuschließen.&lt;br /&gt;
*Starten von Anwendungen im Container als Nicht-Root-Benutzer.&lt;br /&gt;
&lt;br /&gt;
==Beispiel Ubuntu mit Apache Server==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=docker&amp;gt;&lt;br /&gt;
# Wir verwenden ein offizielles Ubuntu slim Image als Basis-Image&lt;br /&gt;
FROM ubuntu:20.04-slim&lt;br /&gt;
&lt;br /&gt;
# Aktualisieren des Systems / Installation des Apache-Webserver und Bereinigung der enstandenen Cache Dateien&lt;br /&gt;
RUN apt-get update &amp;amp;&amp;amp; \&lt;br /&gt;
    apt-get install -y apache2 &amp;amp;&amp;amp; \&lt;br /&gt;
    apt-get clean &amp;amp;&amp;amp; \&lt;br /&gt;
    rm -rf /var/lib/apt/lists/*&lt;br /&gt;
&lt;br /&gt;
# Erstellen einer einfachen &amp;quot;Hello World&amp;quot;-HTML-Datei&lt;br /&gt;
RUN echo '&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;Hello World&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;lt;h1&amp;gt;Hello World&amp;lt;/h1&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;' &amp;gt; /var/www/html/index.html&lt;br /&gt;
&lt;br /&gt;
# Exposen des Ports 80&lt;br /&gt;
EXPOSE 80&lt;br /&gt;
&lt;br /&gt;
# Automatischer start des Apache-Webserver, wenn der Container gestartet wird&lt;br /&gt;
CMD [&amp;quot;/usr/sbin/apache2ctl&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot;]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Dockerfile erstellen=&lt;br /&gt;
*Erstellen Sie eine Datei namens &amp;quot;Dockerfile&amp;quot; (ohne Dateierweiterung) im Projektverzeichnis.&lt;br /&gt;
*Füge die gewünschten Anweisungen hinzu, entsprechend den Anforderungen des Projekts&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45075</id>
		<title>Dockerfile</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45075"/>
		<updated>2023-05-11T13:40:16Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: /* Beispiel Ubuntu mit Apache Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Was ist eine Dockerfile?=&lt;br /&gt;
*Eine Dockerfile ist eine Textdatei, die Anweisungen zur Erstellung eines Docker-Images enthält.&lt;br /&gt;
*Es ermöglicht eine automatisierte, reproduzierbare und versionierbare Erstellung von Docker-Images.&lt;br /&gt;
&lt;br /&gt;
=Grundlegende Struktur eines Dockerfiles=&lt;br /&gt;
*Jede Zeile im Dockerfile stellt eine Anweisung dar.&lt;br /&gt;
*Anweisungen beginnen in der Regel mit einem Schlüsselwort gefolgt von Argumenten.&lt;br /&gt;
*Kommentare können mit einem &amp;quot;#&amp;quot; eingeleitet werden.&lt;br /&gt;
&lt;br /&gt;
=Wichtige Dockerfile-Anweisungen=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Schlüsselwort&lt;br /&gt;
! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| FROM&lt;br /&gt;
| Definiert das Basis-Image, von dem das neue Image erstellt wird.&lt;br /&gt;
|-&lt;br /&gt;
| RUN&lt;br /&gt;
| Führt einen Shell-Befehl innerhalb des Images aus.&lt;br /&gt;
|-&lt;br /&gt;
| CMD&lt;br /&gt;
| Gibt den Standardbefehl an, der beim Starten des Containers ausgeführt wird.&lt;br /&gt;
|-&lt;br /&gt;
| ENTRYPOINT&lt;br /&gt;
| Legt den Einstiegspunkt für den Container fest; wird üblicherweise für ausführbare Anwendungen verwendet.&lt;br /&gt;
|-&lt;br /&gt;
| WORKDIR&lt;br /&gt;
| Legt das Arbeitsverzeichnis für nachfolgende Anweisungen fest.&lt;br /&gt;
|-&lt;br /&gt;
| COPY&lt;br /&gt;
| Kopiert Dateien oder Verzeichnisse vom lokalen System in das Image.&lt;br /&gt;
|-&lt;br /&gt;
| ADD&lt;br /&gt;
| Ähnlich wie &amp;quot;COPY&amp;quot;, kann jedoch auch remote-Dateien hinzufügen oder Archive automatisch entpacken.&lt;br /&gt;
|-&lt;br /&gt;
| EXPOSE&lt;br /&gt;
| Informiert Docker, dass der Container auf einem bestimmten Netzwerk-Port lauscht.&lt;br /&gt;
|-&lt;br /&gt;
| ENV&lt;br /&gt;
| Setzt Umgebungsvariablen für das Image.&lt;br /&gt;
|-&lt;br /&gt;
| VOLUME&lt;br /&gt;
| Erstellt einen Speicherbereich für Daten, die von einem Container verwendet werden.&lt;br /&gt;
|-&lt;br /&gt;
| USER&lt;br /&gt;
| Setzt den Benutzer für nachfolgende Anweisungen und für den laufenden Container.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Best Practices für Dockerfiles=&lt;br /&gt;
*Verwenden eines minimalen Basis-Images &lt;br /&gt;
**Verwenden eines Images wie &amp;quot;alpine&amp;quot; oder &amp;quot;ubuntu-slim&amp;quot;, um die Größe des endgültigen Images zu reduzieren.&lt;br /&gt;
*Ordnen von mehrzeilige Argumente, um die Lesbarkeit zu verbessern und die Größe des Docker-Images zu reduzieren.&lt;br /&gt;
*Verwenden von &amp;quot;COPY&amp;quot; statt &amp;quot;ADD&amp;quot;, es sei denn, wir benötigen spezielle Funktionen von &amp;quot;ADD&amp;quot;.&lt;br /&gt;
*Führen Sie mehrere &amp;quot;RUN&amp;quot;-Anweisungen in einer Zeile zusammen, um die Größe des Images zu minimieren.&lt;br /&gt;
*Verwenden von Umgebungsvariablen für konfigurierbare Werte, um die Wiederverwendung des Images zu fördern.&lt;br /&gt;
*Bereinigen von temporäre Dateien und Cache nach der Installation von Paketen.&lt;br /&gt;
*Verwenden von &amp;quot;.dockerignore&amp;quot;, um unnötige Dateien aus dem Build-Kontext auszuschließen.&lt;br /&gt;
*Starten von Anwendungen im Container als Nicht-Root-Benutzer.&lt;br /&gt;
&lt;br /&gt;
==Beispiel Ubuntu mit Apache Server==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=docker&amp;gt;&lt;br /&gt;
# Wir verwenden ein offizielles Ubuntu slim Image als Basis-Image&lt;br /&gt;
FROM ubuntu:20.04-slim&lt;br /&gt;
&lt;br /&gt;
# Aktualisieren des Systems / Installation des Apache-Webserver und Bereinigung der enstandenen Cache Dateien&lt;br /&gt;
RUN apt-get update &amp;amp;&amp;amp; \&lt;br /&gt;
    apt-get install -y apache2 &amp;amp;&amp;amp; \&lt;br /&gt;
    apt-get clean &amp;amp;&amp;amp; \&lt;br /&gt;
    rm -rf /var/lib/apt/lists/*&lt;br /&gt;
&lt;br /&gt;
# Erstellen einer einfachen &amp;quot;Hello World&amp;quot;-HTML-Datei&lt;br /&gt;
RUN echo '&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;Hello World&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;lt;h1&amp;gt;Hello World&amp;lt;/h1&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;' &amp;gt; /var/www/html/index.html&lt;br /&gt;
&lt;br /&gt;
# Exposen des Ports 80&lt;br /&gt;
EXPOSE 80&lt;br /&gt;
&lt;br /&gt;
# Automatischer start des Apache-Webserver, wenn der Container gestartet wird&lt;br /&gt;
CMD [&amp;quot;/usr/sbin/apache2ctl&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot;]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Dockerfile erstellen und Image bauen=&lt;br /&gt;
*Erstellen Sie eine Datei namens &amp;quot;Dockerfile&amp;quot; (ohne Dateierweiterung) im Projektverzeichnis.&lt;br /&gt;
*Fügen Sie die gewünschten Anweisungen hinzu, entsprechend den Anforderungen Ihres Projekts&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45074</id>
		<title>Dockerfile</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45074"/>
		<updated>2023-05-11T13:39:13Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Was ist eine Dockerfile?=&lt;br /&gt;
*Eine Dockerfile ist eine Textdatei, die Anweisungen zur Erstellung eines Docker-Images enthält.&lt;br /&gt;
*Es ermöglicht eine automatisierte, reproduzierbare und versionierbare Erstellung von Docker-Images.&lt;br /&gt;
&lt;br /&gt;
=Grundlegende Struktur eines Dockerfiles=&lt;br /&gt;
*Jede Zeile im Dockerfile stellt eine Anweisung dar.&lt;br /&gt;
*Anweisungen beginnen in der Regel mit einem Schlüsselwort gefolgt von Argumenten.&lt;br /&gt;
*Kommentare können mit einem &amp;quot;#&amp;quot; eingeleitet werden.&lt;br /&gt;
&lt;br /&gt;
=Wichtige Dockerfile-Anweisungen=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Schlüsselwort&lt;br /&gt;
! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| FROM&lt;br /&gt;
| Definiert das Basis-Image, von dem das neue Image erstellt wird.&lt;br /&gt;
|-&lt;br /&gt;
| RUN&lt;br /&gt;
| Führt einen Shell-Befehl innerhalb des Images aus.&lt;br /&gt;
|-&lt;br /&gt;
| CMD&lt;br /&gt;
| Gibt den Standardbefehl an, der beim Starten des Containers ausgeführt wird.&lt;br /&gt;
|-&lt;br /&gt;
| ENTRYPOINT&lt;br /&gt;
| Legt den Einstiegspunkt für den Container fest; wird üblicherweise für ausführbare Anwendungen verwendet.&lt;br /&gt;
|-&lt;br /&gt;
| WORKDIR&lt;br /&gt;
| Legt das Arbeitsverzeichnis für nachfolgende Anweisungen fest.&lt;br /&gt;
|-&lt;br /&gt;
| COPY&lt;br /&gt;
| Kopiert Dateien oder Verzeichnisse vom lokalen System in das Image.&lt;br /&gt;
|-&lt;br /&gt;
| ADD&lt;br /&gt;
| Ähnlich wie &amp;quot;COPY&amp;quot;, kann jedoch auch remote-Dateien hinzufügen oder Archive automatisch entpacken.&lt;br /&gt;
|-&lt;br /&gt;
| EXPOSE&lt;br /&gt;
| Informiert Docker, dass der Container auf einem bestimmten Netzwerk-Port lauscht.&lt;br /&gt;
|-&lt;br /&gt;
| ENV&lt;br /&gt;
| Setzt Umgebungsvariablen für das Image.&lt;br /&gt;
|-&lt;br /&gt;
| VOLUME&lt;br /&gt;
| Erstellt einen Speicherbereich für Daten, die von einem Container verwendet werden.&lt;br /&gt;
|-&lt;br /&gt;
| USER&lt;br /&gt;
| Setzt den Benutzer für nachfolgende Anweisungen und für den laufenden Container.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Best Practices für Dockerfiles=&lt;br /&gt;
*Verwenden eines minimalen Basis-Images &lt;br /&gt;
**Verwenden eines Images wie &amp;quot;alpine&amp;quot; oder &amp;quot;ubuntu-slim&amp;quot;, um die Größe des endgültigen Images zu reduzieren.&lt;br /&gt;
*Ordnen von mehrzeilige Argumente, um die Lesbarkeit zu verbessern und die Größe des Docker-Images zu reduzieren.&lt;br /&gt;
*Verwenden von &amp;quot;COPY&amp;quot; statt &amp;quot;ADD&amp;quot;, es sei denn, wir benötigen spezielle Funktionen von &amp;quot;ADD&amp;quot;.&lt;br /&gt;
*Führen Sie mehrere &amp;quot;RUN&amp;quot;-Anweisungen in einer Zeile zusammen, um die Größe des Images zu minimieren.&lt;br /&gt;
*Verwenden von Umgebungsvariablen für konfigurierbare Werte, um die Wiederverwendung des Images zu fördern.&lt;br /&gt;
*Bereinigen von temporäre Dateien und Cache nach der Installation von Paketen.&lt;br /&gt;
*Verwenden von &amp;quot;.dockerignore&amp;quot;, um unnötige Dateien aus dem Build-Kontext auszuschließen.&lt;br /&gt;
*Starten von Anwendungen im Container als Nicht-Root-Benutzer.&lt;br /&gt;
&lt;br /&gt;
==Beispiel Ubuntu mit Apache Server==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=docker&amp;gt;&lt;br /&gt;
# Wir verwenden ein offizielles Ubuntu slim Image als Basis-Image&lt;br /&gt;
FROM ubuntu:20.04-slim&lt;br /&gt;
&lt;br /&gt;
# Aktualisieren des System und installation des Apache-Webserver - Bereinigung der enstanden Cache Dateien&lt;br /&gt;
RUN apt-get update &amp;amp;&amp;amp; \&lt;br /&gt;
    apt-get install -y apache2 &amp;amp;&amp;amp; \&lt;br /&gt;
    apt-get clean &amp;amp;&amp;amp; \&lt;br /&gt;
    rm -rf /var/lib/apt/lists/*&lt;br /&gt;
&lt;br /&gt;
# Erstellen einer einfachen &amp;quot;Hello World&amp;quot;-HTML-Datei&lt;br /&gt;
RUN echo '&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;Hello World&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;lt;h1&amp;gt;Hello World&amp;lt;/h1&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;' &amp;gt; /var/www/html/index.html&lt;br /&gt;
&lt;br /&gt;
# Exposen des Ports 80&lt;br /&gt;
EXPOSE 80&lt;br /&gt;
&lt;br /&gt;
# Automatischer start des Apache-Webserver, wenn der Container gestartet wird&lt;br /&gt;
CMD [&amp;quot;/usr/sbin/apache2ctl&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot;]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Dockerfile erstellen und Image bauen=&lt;br /&gt;
*Erstellen Sie eine Datei namens &amp;quot;Dockerfile&amp;quot; (ohne Dateierweiterung) im Projektverzeichnis.&lt;br /&gt;
*Fügen Sie die gewünschten Anweisungen hinzu, entsprechend den Anforderungen Ihres Projekts&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45073</id>
		<title>Dockerfile</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45073"/>
		<updated>2023-05-11T13:38:47Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Was ist eine Dockerfile?=&lt;br /&gt;
*Eine Dockerfile ist eine Textdatei, die Anweisungen zur Erstellung eines Docker-Images enthält.&lt;br /&gt;
*Es ermöglicht eine automatisierte, reproduzierbare und versionierbare Erstellung von Docker-Images.&lt;br /&gt;
&lt;br /&gt;
=Grundlegende Struktur eines Dockerfiles=&lt;br /&gt;
*Jede Zeile im Dockerfile stellt eine Anweisung dar.&lt;br /&gt;
*Anweisungen beginnen in der Regel mit einem Schlüsselwort gefolgt von Argumenten.&lt;br /&gt;
*Kommentare können mit einem &amp;quot;#&amp;quot; eingeleitet werden.&lt;br /&gt;
&lt;br /&gt;
=Wichtige Dockerfile-Anweisungen=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Schlüsselwort&lt;br /&gt;
! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| FROM&lt;br /&gt;
| Definiert das Basis-Image, von dem das neue Image erstellt wird.&lt;br /&gt;
|-&lt;br /&gt;
| RUN&lt;br /&gt;
| Führt einen Shell-Befehl innerhalb des Images aus.&lt;br /&gt;
|-&lt;br /&gt;
| CMD&lt;br /&gt;
| Gibt den Standardbefehl an, der beim Starten des Containers ausgeführt wird.&lt;br /&gt;
|-&lt;br /&gt;
| ENTRYPOINT&lt;br /&gt;
| Legt den Einstiegspunkt für den Container fest; wird üblicherweise für ausführbare Anwendungen verwendet.&lt;br /&gt;
|-&lt;br /&gt;
| WORKDIR&lt;br /&gt;
| Legt das Arbeitsverzeichnis für nachfolgende Anweisungen fest.&lt;br /&gt;
|-&lt;br /&gt;
| COPY&lt;br /&gt;
| Kopiert Dateien oder Verzeichnisse vom lokalen System in das Image.&lt;br /&gt;
|-&lt;br /&gt;
| ADD&lt;br /&gt;
| Ähnlich wie &amp;quot;COPY&amp;quot;, kann jedoch auch remote-Dateien hinzufügen oder Archive automatisch entpacken.&lt;br /&gt;
|-&lt;br /&gt;
| EXPOSE&lt;br /&gt;
| Informiert Docker, dass der Container auf einem bestimmten Netzwerk-Port lauscht.&lt;br /&gt;
|-&lt;br /&gt;
| ENV&lt;br /&gt;
| Setzt Umgebungsvariablen für das Image.&lt;br /&gt;
|-&lt;br /&gt;
| VOLUME&lt;br /&gt;
| Erstellt einen Speicherbereich für Daten, die von einem Container verwendet werden.&lt;br /&gt;
|-&lt;br /&gt;
| USER&lt;br /&gt;
| Setzt den Benutzer für nachfolgende Anweisungen und für den laufenden Container.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Best Practices für Dockerfiles=&lt;br /&gt;
*Verwenden eines minimalen Basis-Images &lt;br /&gt;
**Verwenden eines Images wie &amp;quot;alpine&amp;quot; oder &amp;quot;ubuntu-slim&amp;quot;, um die Größe des endgültigen Images zu reduzieren.&lt;br /&gt;
*Ordnen von mehrzeilige Argumente, um die Lesbarkeit zu verbessern und die Größe des Docker-Images zu reduzieren.&lt;br /&gt;
*Verwenden von &amp;quot;COPY&amp;quot; statt &amp;quot;ADD&amp;quot;, es sei denn, wir benötigen spezielle Funktionen von &amp;quot;ADD&amp;quot;.&lt;br /&gt;
*Führen Sie mehrere &amp;quot;RUN&amp;quot;-Anweisungen in einer Zeile zusammen, um die Größe des Images zu minimieren.&lt;br /&gt;
*Verwenden von Umgebungsvariablen für konfigurierbare Werte, um die Wiederverwendung des Images zu fördern.&lt;br /&gt;
*Bereinigen von temporäre Dateien und Cache nach der Installation von Paketen.&lt;br /&gt;
*Verwenden von &amp;quot;.dockerignore&amp;quot;, um unnötige Dateien aus dem Build-Kontext auszuschließen.&lt;br /&gt;
*Starten von Anwendungen im Container als Nicht-Root-Benutzer.&lt;br /&gt;
&lt;br /&gt;
==Beispiel Ubuntu mit Apache Server=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=docker&amp;gt;&lt;br /&gt;
# Wir verwenden ein offizielles Ubuntu slim Image als Basis-Image&lt;br /&gt;
FROM ubuntu:20.04-slim&lt;br /&gt;
&lt;br /&gt;
# Aktualisieren des System und installation des Apache-Webserver - Bereinigung der enstanden Cache Dateien&lt;br /&gt;
RUN apt-get update &amp;amp;&amp;amp; \&lt;br /&gt;
    apt-get install -y apache2 &amp;amp;&amp;amp; \&lt;br /&gt;
    apt-get clean &amp;amp;&amp;amp; \&lt;br /&gt;
    rm -rf /var/lib/apt/lists/*&lt;br /&gt;
&lt;br /&gt;
# Erstellen einer einfachen &amp;quot;Hello World&amp;quot;-HTML-Datei&lt;br /&gt;
RUN echo '&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;Hello World&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;lt;h1&amp;gt;Hello World&amp;lt;/h1&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;' &amp;gt; /var/www/html/index.html&lt;br /&gt;
&lt;br /&gt;
# Exposen des Ports 80&lt;br /&gt;
EXPOSE 80&lt;br /&gt;
&lt;br /&gt;
# Automatischer start des Apache-Webserver, wenn der Container gestartet wird&lt;br /&gt;
CMD [&amp;quot;/usr/sbin/apache2ctl&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot;]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Dockerfile erstellen und Image bauen=&lt;br /&gt;
*Erstellen Sie eine Datei namens &amp;quot;Dockerfile&amp;quot; (ohne Dateierweiterung) im Projektverzeichnis.&lt;br /&gt;
*Fügen Sie die gewünschten Anweisungen hinzu, entsprechend den Anforderungen Ihres Projekts&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45071</id>
		<title>Dockerfile</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45071"/>
		<updated>2023-05-11T12:44:11Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: /* Grundlegende Struktur eines Dockerfiles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Was ist eine Dockerfile?=&lt;br /&gt;
*Eine Dockerfile ist eine Textdatei, die Anweisungen zur Erstellung eines Docker-Images enthält.&lt;br /&gt;
*Es ermöglicht eine automatisierte, reproduzierbare und versionierbare Erstellung von Docker-Images.&lt;br /&gt;
&lt;br /&gt;
=Grundlegende Struktur eines Dockerfiles=&lt;br /&gt;
*Jede Zeile im Dockerfile stellt eine Anweisung dar.&lt;br /&gt;
*Anweisungen beginnen in der Regel mit einem Schlüsselwort gefolgt von Argumenten.&lt;br /&gt;
*Kommentare können mit einem &amp;quot;#&amp;quot; eingeleitet werden.&lt;br /&gt;
&lt;br /&gt;
=Wichtige Dockerfile-Anweisungen=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Schlüsselwort&lt;br /&gt;
! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| FROM&lt;br /&gt;
| Definiert das Basis-Image, von dem das neue Image erstellt wird.&lt;br /&gt;
|-&lt;br /&gt;
| RUN&lt;br /&gt;
| Führt einen Shell-Befehl innerhalb des Images aus.&lt;br /&gt;
|-&lt;br /&gt;
| CMD&lt;br /&gt;
| Gibt den Standardbefehl an, der beim Starten des Containers ausgeführt wird.&lt;br /&gt;
|-&lt;br /&gt;
| ENTRYPOINT&lt;br /&gt;
| Legt den Einstiegspunkt für den Container fest; wird üblicherweise für ausführbare Anwendungen verwendet.&lt;br /&gt;
|-&lt;br /&gt;
| WORKDIR&lt;br /&gt;
| Legt das Arbeitsverzeichnis für nachfolgende Anweisungen fest.&lt;br /&gt;
|-&lt;br /&gt;
| COPY&lt;br /&gt;
| Kopiert Dateien oder Verzeichnisse vom lokalen System in das Image.&lt;br /&gt;
|-&lt;br /&gt;
| ADD&lt;br /&gt;
| Ähnlich wie &amp;quot;COPY&amp;quot;, kann jedoch auch remote-Dateien hinzufügen oder Archive automatisch entpacken.&lt;br /&gt;
|-&lt;br /&gt;
| EXPOSE&lt;br /&gt;
| Informiert Docker, dass der Container auf einem bestimmten Netzwerk-Port lauscht.&lt;br /&gt;
|-&lt;br /&gt;
| ENV&lt;br /&gt;
| Setzt Umgebungsvariablen für das Image.&lt;br /&gt;
|-&lt;br /&gt;
| VOLUME&lt;br /&gt;
| Erstellt einen Speicherbereich für Daten, die von einem Container verwendet werden.&lt;br /&gt;
|-&lt;br /&gt;
| USER&lt;br /&gt;
| Setzt den Benutzer für nachfolgende Anweisungen und für den laufenden Container.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Best Practices für Dockerfiles=&lt;br /&gt;
*Verwenden eines minimalen Basis-Images &lt;br /&gt;
**Verwenden eines Images wie &amp;quot;alpine&amp;quot; oder &amp;quot;ubuntu-slim&amp;quot;, um die Größe des endgültigen Images zu reduzieren.&lt;br /&gt;
*Ordnen von mehrzeilige Argumente, um die Lesbarkeit zu verbessern und die Größe des Docker-Images zu reduzieren.&lt;br /&gt;
*Verwenden von &amp;quot;COPY&amp;quot; statt &amp;quot;ADD&amp;quot;, es sei denn, wir benötigen spezielle Funktionen von &amp;quot;ADD&amp;quot;.&lt;br /&gt;
*Führen Sie mehrere &amp;quot;RUN&amp;quot;-Anweisungen in einer Zeile zusammen, um die Größe des Images zu minimieren.&lt;br /&gt;
*Verwenden von Umgebungsvariablen für konfigurierbare Werte, um die Wiederverwendung des Images zu fördern.&lt;br /&gt;
*Bereinigen von temporäre Dateien und Cache nach der Installation von Paketen.&lt;br /&gt;
*Verwenden von &amp;quot;.dockerignore&amp;quot;, um unnötige Dateien aus dem Build-Kontext auszuschließen.&lt;br /&gt;
*Starten von Anwendungen im Container als Nicht-Root-Benutzer.&lt;br /&gt;
&lt;br /&gt;
=Dockerfile erstellen und Image bauen=&lt;br /&gt;
*Erstellen Sie eine Datei namens &amp;quot;Dockerfile&amp;quot; (ohne Dateierweiterung) im Projektverzeichnis.&lt;br /&gt;
*Fügen Sie die gewünschten Anweisungen hinzu, entsprechend den Anforderungen Ihres Projekts&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45070</id>
		<title>Dockerfile</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45070"/>
		<updated>2023-05-11T12:44:04Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: /* Wichtige Dockerfile-Anweisungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Was ist eine Dockerfile?=&lt;br /&gt;
*Eine Dockerfile ist eine Textdatei, die Anweisungen zur Erstellung eines Docker-Images enthält.&lt;br /&gt;
*Es ermöglicht eine automatisierte, reproduzierbare und versionierbare Erstellung von Docker-Images.&lt;br /&gt;
&lt;br /&gt;
=Grundlegende Struktur eines Dockerfiles=&lt;br /&gt;
*Jede Zeile im Dockerfile stellt eine Anweisung dar.&lt;br /&gt;
*Anweisungen beginnen in der Regel mit einem Schlüsselwort gefolgt von Argumenten.&lt;br /&gt;
*Kommentare können mit einem `#` eingeleitet werden.&lt;br /&gt;
=Wichtige Dockerfile-Anweisungen=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Schlüsselwort&lt;br /&gt;
! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| FROM&lt;br /&gt;
| Definiert das Basis-Image, von dem das neue Image erstellt wird.&lt;br /&gt;
|-&lt;br /&gt;
| RUN&lt;br /&gt;
| Führt einen Shell-Befehl innerhalb des Images aus.&lt;br /&gt;
|-&lt;br /&gt;
| CMD&lt;br /&gt;
| Gibt den Standardbefehl an, der beim Starten des Containers ausgeführt wird.&lt;br /&gt;
|-&lt;br /&gt;
| ENTRYPOINT&lt;br /&gt;
| Legt den Einstiegspunkt für den Container fest; wird üblicherweise für ausführbare Anwendungen verwendet.&lt;br /&gt;
|-&lt;br /&gt;
| WORKDIR&lt;br /&gt;
| Legt das Arbeitsverzeichnis für nachfolgende Anweisungen fest.&lt;br /&gt;
|-&lt;br /&gt;
| COPY&lt;br /&gt;
| Kopiert Dateien oder Verzeichnisse vom lokalen System in das Image.&lt;br /&gt;
|-&lt;br /&gt;
| ADD&lt;br /&gt;
| Ähnlich wie &amp;quot;COPY&amp;quot;, kann jedoch auch remote-Dateien hinzufügen oder Archive automatisch entpacken.&lt;br /&gt;
|-&lt;br /&gt;
| EXPOSE&lt;br /&gt;
| Informiert Docker, dass der Container auf einem bestimmten Netzwerk-Port lauscht.&lt;br /&gt;
|-&lt;br /&gt;
| ENV&lt;br /&gt;
| Setzt Umgebungsvariablen für das Image.&lt;br /&gt;
|-&lt;br /&gt;
| VOLUME&lt;br /&gt;
| Erstellt einen Speicherbereich für Daten, die von einem Container verwendet werden.&lt;br /&gt;
|-&lt;br /&gt;
| USER&lt;br /&gt;
| Setzt den Benutzer für nachfolgende Anweisungen und für den laufenden Container.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Best Practices für Dockerfiles=&lt;br /&gt;
*Verwenden eines minimalen Basis-Images &lt;br /&gt;
**Verwenden eines Images wie &amp;quot;alpine&amp;quot; oder &amp;quot;ubuntu-slim&amp;quot;, um die Größe des endgültigen Images zu reduzieren.&lt;br /&gt;
*Ordnen von mehrzeilige Argumente, um die Lesbarkeit zu verbessern und die Größe des Docker-Images zu reduzieren.&lt;br /&gt;
*Verwenden von &amp;quot;COPY&amp;quot; statt &amp;quot;ADD&amp;quot;, es sei denn, wir benötigen spezielle Funktionen von &amp;quot;ADD&amp;quot;.&lt;br /&gt;
*Führen Sie mehrere &amp;quot;RUN&amp;quot;-Anweisungen in einer Zeile zusammen, um die Größe des Images zu minimieren.&lt;br /&gt;
*Verwenden von Umgebungsvariablen für konfigurierbare Werte, um die Wiederverwendung des Images zu fördern.&lt;br /&gt;
*Bereinigen von temporäre Dateien und Cache nach der Installation von Paketen.&lt;br /&gt;
*Verwenden von &amp;quot;.dockerignore&amp;quot;, um unnötige Dateien aus dem Build-Kontext auszuschließen.&lt;br /&gt;
*Starten von Anwendungen im Container als Nicht-Root-Benutzer.&lt;br /&gt;
&lt;br /&gt;
=Dockerfile erstellen und Image bauen=&lt;br /&gt;
*Erstellen Sie eine Datei namens &amp;quot;Dockerfile&amp;quot; (ohne Dateierweiterung) im Projektverzeichnis.&lt;br /&gt;
*Fügen Sie die gewünschten Anweisungen hinzu, entsprechend den Anforderungen Ihres Projekts&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45069</id>
		<title>Dockerfile</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45069"/>
		<updated>2023-05-11T12:43:50Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: /* Dockerfile erstellen und Image bauen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Was ist eine Dockerfile?=&lt;br /&gt;
*Eine Dockerfile ist eine Textdatei, die Anweisungen zur Erstellung eines Docker-Images enthält.&lt;br /&gt;
*Es ermöglicht eine automatisierte, reproduzierbare und versionierbare Erstellung von Docker-Images.&lt;br /&gt;
&lt;br /&gt;
=Grundlegende Struktur eines Dockerfiles=&lt;br /&gt;
*Jede Zeile im Dockerfile stellt eine Anweisung dar.&lt;br /&gt;
*Anweisungen beginnen in der Regel mit einem Schlüsselwort gefolgt von Argumenten.&lt;br /&gt;
*Kommentare können mit einem `#` eingeleitet werden.&lt;br /&gt;
=Wichtige Dockerfile-Anweisungen=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Schlüsselwort&lt;br /&gt;
! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| FROM&lt;br /&gt;
| Definiert das Basis-Image, von dem das neue Image erstellt wird.&lt;br /&gt;
|-&lt;br /&gt;
| RUN&lt;br /&gt;
| Führt einen Shell-Befehl innerhalb des Images aus.&lt;br /&gt;
|-&lt;br /&gt;
| CMD&lt;br /&gt;
| Gibt den Standardbefehl an, der beim Starten des Containers ausgeführt wird.&lt;br /&gt;
|-&lt;br /&gt;
| ENTRYPOINT&lt;br /&gt;
| Legt den Einstiegspunkt für den Container fest; wird üblicherweise für ausführbare Anwendungen verwendet.&lt;br /&gt;
|-&lt;br /&gt;
| WORKDIR&lt;br /&gt;
| Legt das Arbeitsverzeichnis für nachfolgende Anweisungen fest.&lt;br /&gt;
|-&lt;br /&gt;
| COPY&lt;br /&gt;
| Kopiert Dateien oder Verzeichnisse vom lokalen System in das Image.&lt;br /&gt;
|-&lt;br /&gt;
| ADD&lt;br /&gt;
| Ähnlich wie `COPY`, kann jedoch auch remote-Dateien hinzufügen oder Archive automatisch entpacken.&lt;br /&gt;
|-&lt;br /&gt;
| EXPOSE&lt;br /&gt;
| Informiert Docker, dass der Container auf einem bestimmten Netzwerk-Port lauscht.&lt;br /&gt;
|-&lt;br /&gt;
| ENV&lt;br /&gt;
| Setzt Umgebungsvariablen für das Image.&lt;br /&gt;
|-&lt;br /&gt;
| VOLUME&lt;br /&gt;
| Erstellt einen Speicherbereich für Daten, die von einem Container verwendet werden.&lt;br /&gt;
|-&lt;br /&gt;
| USER&lt;br /&gt;
| Setzt den Benutzer für nachfolgende Anweisungen und für den laufenden Container.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Best Practices für Dockerfiles=&lt;br /&gt;
*Verwenden eines minimalen Basis-Images &lt;br /&gt;
**Verwenden eines Images wie &amp;quot;alpine&amp;quot; oder &amp;quot;ubuntu-slim&amp;quot;, um die Größe des endgültigen Images zu reduzieren.&lt;br /&gt;
*Ordnen von mehrzeilige Argumente, um die Lesbarkeit zu verbessern und die Größe des Docker-Images zu reduzieren.&lt;br /&gt;
*Verwenden von &amp;quot;COPY&amp;quot; statt &amp;quot;ADD&amp;quot;, es sei denn, wir benötigen spezielle Funktionen von &amp;quot;ADD&amp;quot;.&lt;br /&gt;
*Führen Sie mehrere &amp;quot;RUN&amp;quot;-Anweisungen in einer Zeile zusammen, um die Größe des Images zu minimieren.&lt;br /&gt;
*Verwenden von Umgebungsvariablen für konfigurierbare Werte, um die Wiederverwendung des Images zu fördern.&lt;br /&gt;
*Bereinigen von temporäre Dateien und Cache nach der Installation von Paketen.&lt;br /&gt;
*Verwenden von &amp;quot;.dockerignore&amp;quot;, um unnötige Dateien aus dem Build-Kontext auszuschließen.&lt;br /&gt;
*Starten von Anwendungen im Container als Nicht-Root-Benutzer.&lt;br /&gt;
&lt;br /&gt;
=Dockerfile erstellen und Image bauen=&lt;br /&gt;
*Erstellen Sie eine Datei namens &amp;quot;Dockerfile&amp;quot; (ohne Dateierweiterung) im Projektverzeichnis.&lt;br /&gt;
*Fügen Sie die gewünschten Anweisungen hinzu, entsprechend den Anforderungen Ihres Projekts&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45068</id>
		<title>Dockerfile</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45068"/>
		<updated>2023-05-11T12:43:39Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: /* Best Practices für Dockerfiles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Was ist eine Dockerfile?=&lt;br /&gt;
*Eine Dockerfile ist eine Textdatei, die Anweisungen zur Erstellung eines Docker-Images enthält.&lt;br /&gt;
*Es ermöglicht eine automatisierte, reproduzierbare und versionierbare Erstellung von Docker-Images.&lt;br /&gt;
&lt;br /&gt;
=Grundlegende Struktur eines Dockerfiles=&lt;br /&gt;
*Jede Zeile im Dockerfile stellt eine Anweisung dar.&lt;br /&gt;
*Anweisungen beginnen in der Regel mit einem Schlüsselwort gefolgt von Argumenten.&lt;br /&gt;
*Kommentare können mit einem `#` eingeleitet werden.&lt;br /&gt;
=Wichtige Dockerfile-Anweisungen=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Schlüsselwort&lt;br /&gt;
! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| FROM&lt;br /&gt;
| Definiert das Basis-Image, von dem das neue Image erstellt wird.&lt;br /&gt;
|-&lt;br /&gt;
| RUN&lt;br /&gt;
| Führt einen Shell-Befehl innerhalb des Images aus.&lt;br /&gt;
|-&lt;br /&gt;
| CMD&lt;br /&gt;
| Gibt den Standardbefehl an, der beim Starten des Containers ausgeführt wird.&lt;br /&gt;
|-&lt;br /&gt;
| ENTRYPOINT&lt;br /&gt;
| Legt den Einstiegspunkt für den Container fest; wird üblicherweise für ausführbare Anwendungen verwendet.&lt;br /&gt;
|-&lt;br /&gt;
| WORKDIR&lt;br /&gt;
| Legt das Arbeitsverzeichnis für nachfolgende Anweisungen fest.&lt;br /&gt;
|-&lt;br /&gt;
| COPY&lt;br /&gt;
| Kopiert Dateien oder Verzeichnisse vom lokalen System in das Image.&lt;br /&gt;
|-&lt;br /&gt;
| ADD&lt;br /&gt;
| Ähnlich wie `COPY`, kann jedoch auch remote-Dateien hinzufügen oder Archive automatisch entpacken.&lt;br /&gt;
|-&lt;br /&gt;
| EXPOSE&lt;br /&gt;
| Informiert Docker, dass der Container auf einem bestimmten Netzwerk-Port lauscht.&lt;br /&gt;
|-&lt;br /&gt;
| ENV&lt;br /&gt;
| Setzt Umgebungsvariablen für das Image.&lt;br /&gt;
|-&lt;br /&gt;
| VOLUME&lt;br /&gt;
| Erstellt einen Speicherbereich für Daten, die von einem Container verwendet werden.&lt;br /&gt;
|-&lt;br /&gt;
| USER&lt;br /&gt;
| Setzt den Benutzer für nachfolgende Anweisungen und für den laufenden Container.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Best Practices für Dockerfiles=&lt;br /&gt;
*Verwenden eines minimalen Basis-Images &lt;br /&gt;
**Verwenden eines Images wie &amp;quot;alpine&amp;quot; oder &amp;quot;ubuntu-slim&amp;quot;, um die Größe des endgültigen Images zu reduzieren.&lt;br /&gt;
*Ordnen von mehrzeilige Argumente, um die Lesbarkeit zu verbessern und die Größe des Docker-Images zu reduzieren.&lt;br /&gt;
*Verwenden von &amp;quot;COPY&amp;quot; statt &amp;quot;ADD&amp;quot;, es sei denn, wir benötigen spezielle Funktionen von &amp;quot;ADD&amp;quot;.&lt;br /&gt;
*Führen Sie mehrere &amp;quot;RUN&amp;quot;-Anweisungen in einer Zeile zusammen, um die Größe des Images zu minimieren.&lt;br /&gt;
*Verwenden von Umgebungsvariablen für konfigurierbare Werte, um die Wiederverwendung des Images zu fördern.&lt;br /&gt;
*Bereinigen von temporäre Dateien und Cache nach der Installation von Paketen.&lt;br /&gt;
*Verwenden von &amp;quot;.dockerignore&amp;quot;, um unnötige Dateien aus dem Build-Kontext auszuschließen.&lt;br /&gt;
*Starten von Anwendungen im Container als Nicht-Root-Benutzer.&lt;br /&gt;
&lt;br /&gt;
=Dockerfile erstellen und Image bauen=&lt;br /&gt;
*Erstellen Sie eine Datei namens `Dockerfile` (ohne Dateierweiterung) im Projektverzeichnis.&lt;br /&gt;
*Fügen Sie die gewünschten Anweisungen hinzu, entsprechend den Anforderungen Ihres Projekts&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45067</id>
		<title>Dockerfile</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45067"/>
		<updated>2023-05-11T12:17:57Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: /* Best Practices für Dockerfiles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Was ist eine Dockerfile?=&lt;br /&gt;
*Eine Dockerfile ist eine Textdatei, die Anweisungen zur Erstellung eines Docker-Images enthält.&lt;br /&gt;
*Es ermöglicht eine automatisierte, reproduzierbare und versionierbare Erstellung von Docker-Images.&lt;br /&gt;
&lt;br /&gt;
=Grundlegende Struktur eines Dockerfiles=&lt;br /&gt;
*Jede Zeile im Dockerfile stellt eine Anweisung dar.&lt;br /&gt;
*Anweisungen beginnen in der Regel mit einem Schlüsselwort gefolgt von Argumenten.&lt;br /&gt;
*Kommentare können mit einem `#` eingeleitet werden.&lt;br /&gt;
=Wichtige Dockerfile-Anweisungen=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Schlüsselwort&lt;br /&gt;
! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| FROM&lt;br /&gt;
| Definiert das Basis-Image, von dem das neue Image erstellt wird.&lt;br /&gt;
|-&lt;br /&gt;
| RUN&lt;br /&gt;
| Führt einen Shell-Befehl innerhalb des Images aus.&lt;br /&gt;
|-&lt;br /&gt;
| CMD&lt;br /&gt;
| Gibt den Standardbefehl an, der beim Starten des Containers ausgeführt wird.&lt;br /&gt;
|-&lt;br /&gt;
| ENTRYPOINT&lt;br /&gt;
| Legt den Einstiegspunkt für den Container fest; wird üblicherweise für ausführbare Anwendungen verwendet.&lt;br /&gt;
|-&lt;br /&gt;
| WORKDIR&lt;br /&gt;
| Legt das Arbeitsverzeichnis für nachfolgende Anweisungen fest.&lt;br /&gt;
|-&lt;br /&gt;
| COPY&lt;br /&gt;
| Kopiert Dateien oder Verzeichnisse vom lokalen System in das Image.&lt;br /&gt;
|-&lt;br /&gt;
| ADD&lt;br /&gt;
| Ähnlich wie `COPY`, kann jedoch auch remote-Dateien hinzufügen oder Archive automatisch entpacken.&lt;br /&gt;
|-&lt;br /&gt;
| EXPOSE&lt;br /&gt;
| Informiert Docker, dass der Container auf einem bestimmten Netzwerk-Port lauscht.&lt;br /&gt;
|-&lt;br /&gt;
| ENV&lt;br /&gt;
| Setzt Umgebungsvariablen für das Image.&lt;br /&gt;
|-&lt;br /&gt;
| VOLUME&lt;br /&gt;
| Erstellt einen Speicherbereich für Daten, die von einem Container verwendet werden.&lt;br /&gt;
|-&lt;br /&gt;
| USER&lt;br /&gt;
| Setzt den Benutzer für nachfolgende Anweisungen und für den laufenden Container.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Best Practices für Dockerfiles=&lt;br /&gt;
*Verwenden eines minimalen Basis-Images &lt;br /&gt;
**Verwenden eines Images wie `alpine` oder `ubuntu-slim`, um die Größe des endgültigen Images zu reduzieren.&lt;br /&gt;
*Ordnen von mehrzeilige Argumente, um die Lesbarkeit zu verbessern und die Größe des Docker-Images zu reduzieren.&lt;br /&gt;
*Verwenden von `COPY` statt `ADD`, es sei denn, wir benötigen spezielle Funktionen von `ADD`.&lt;br /&gt;
*Führen Sie mehrere `RUN`-Anweisungen in einer Zeile zusammen, um die Größe des Images zu minimieren.&lt;br /&gt;
*Verwenden von Umgebungsvariablen für konfigurierbare Werte, um die Wiederverwendung des Images zu fördern.&lt;br /&gt;
*Bereinigen von temporäre Dateien und Cache nach der Installation von Paketen.&lt;br /&gt;
*Verwenden von `.dockerignore`, um unnötige Dateien aus dem Build-Kontext auszuschließen.&lt;br /&gt;
*Starten von Anwendungen im Container als Nicht-Root-Benutzer.&lt;br /&gt;
&lt;br /&gt;
=Dockerfile erstellen und Image bauen=&lt;br /&gt;
*Erstellen Sie eine Datei namens `Dockerfile` (ohne Dateierweiterung) im Projektverzeichnis.&lt;br /&gt;
*Fügen Sie die gewünschten Anweisungen hinzu, entsprechend den Anforderungen Ihres Projekts&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45066</id>
		<title>Dockerfile</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45066"/>
		<updated>2023-05-11T12:15:15Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: /* Wichtige Dockerfile-Anweisungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Was ist eine Dockerfile?=&lt;br /&gt;
*Eine Dockerfile ist eine Textdatei, die Anweisungen zur Erstellung eines Docker-Images enthält.&lt;br /&gt;
*Es ermöglicht eine automatisierte, reproduzierbare und versionierbare Erstellung von Docker-Images.&lt;br /&gt;
&lt;br /&gt;
=Grundlegende Struktur eines Dockerfiles=&lt;br /&gt;
*Jede Zeile im Dockerfile stellt eine Anweisung dar.&lt;br /&gt;
*Anweisungen beginnen in der Regel mit einem Schlüsselwort gefolgt von Argumenten.&lt;br /&gt;
*Kommentare können mit einem `#` eingeleitet werden.&lt;br /&gt;
=Wichtige Dockerfile-Anweisungen=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Schlüsselwort&lt;br /&gt;
! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| FROM&lt;br /&gt;
| Definiert das Basis-Image, von dem das neue Image erstellt wird.&lt;br /&gt;
|-&lt;br /&gt;
| RUN&lt;br /&gt;
| Führt einen Shell-Befehl innerhalb des Images aus.&lt;br /&gt;
|-&lt;br /&gt;
| CMD&lt;br /&gt;
| Gibt den Standardbefehl an, der beim Starten des Containers ausgeführt wird.&lt;br /&gt;
|-&lt;br /&gt;
| ENTRYPOINT&lt;br /&gt;
| Legt den Einstiegspunkt für den Container fest; wird üblicherweise für ausführbare Anwendungen verwendet.&lt;br /&gt;
|-&lt;br /&gt;
| WORKDIR&lt;br /&gt;
| Legt das Arbeitsverzeichnis für nachfolgende Anweisungen fest.&lt;br /&gt;
|-&lt;br /&gt;
| COPY&lt;br /&gt;
| Kopiert Dateien oder Verzeichnisse vom lokalen System in das Image.&lt;br /&gt;
|-&lt;br /&gt;
| ADD&lt;br /&gt;
| Ähnlich wie `COPY`, kann jedoch auch remote-Dateien hinzufügen oder Archive automatisch entpacken.&lt;br /&gt;
|-&lt;br /&gt;
| EXPOSE&lt;br /&gt;
| Informiert Docker, dass der Container auf einem bestimmten Netzwerk-Port lauscht.&lt;br /&gt;
|-&lt;br /&gt;
| ENV&lt;br /&gt;
| Setzt Umgebungsvariablen für das Image.&lt;br /&gt;
|-&lt;br /&gt;
| VOLUME&lt;br /&gt;
| Erstellt einen Speicherbereich für Daten, die von einem Container verwendet werden.&lt;br /&gt;
|-&lt;br /&gt;
| USER&lt;br /&gt;
| Setzt den Benutzer für nachfolgende Anweisungen und für den laufenden Container.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Best Practices für Dockerfiles=&lt;br /&gt;
*Verwenden von eiemn minimales Basis-Image: &lt;br /&gt;
**Verwenden Sie Images wie `alpine` oder `slim`, um die Größe des endgültigen Images zu reduzieren.&lt;br /&gt;
*Sortieren Sie mehrzeilige Argumente: &lt;br /&gt;
**Ordnen Sie mehrzeilige Argumente alphabetisch, um die Lesbarkeit zu verbessern und die Größe des Docker-Images zu reduzieren.&lt;br /&gt;
*Verwenden Sie `COPY` statt `ADD`, es sei denn, Sie benötigen spezielle Funktionen von `ADD`.&lt;br /&gt;
*Führen Sie mehrere `RUN`-Anweisungen in einer Zeile zusammen, um die Anzahl der erstellten Schichten zu reduzieren und die Größe des Images zu minimieren.&lt;br /&gt;
*Verwenden Sie Umgebungsvariablen für konfigurierbare Werte, um die Wiederverwendung des Images zu fördern.&lt;br /&gt;
*Bereinigen Sie temporäre Dateien und Cache nach der Installation von Paketen.&lt;br /&gt;
*Verwenden Sie `.dockerignore`, um unnötige Dateien aus dem Build-Kontext auszuschließen.&lt;br /&gt;
*Starten Sie Anwendungen im Container als Nicht-Root-Benutzer.&lt;br /&gt;
&lt;br /&gt;
=Dockerfile erstellen und Image bauen=&lt;br /&gt;
*Erstellen Sie eine Datei namens `Dockerfile` (ohne Dateierweiterung) im Projektverzeichnis.&lt;br /&gt;
*Fügen Sie die gewünschten Anweisungen hinzu, entsprechend den Anforderungen Ihres Projekts&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45065</id>
		<title>Dockerfile</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45065"/>
		<updated>2023-05-11T12:14:42Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: /* Wichtige Dockerfile-Anweisungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Was ist eine Dockerfile?=&lt;br /&gt;
*Eine Dockerfile ist eine Textdatei, die Anweisungen zur Erstellung eines Docker-Images enthält.&lt;br /&gt;
*Es ermöglicht eine automatisierte, reproduzierbare und versionierbare Erstellung von Docker-Images.&lt;br /&gt;
&lt;br /&gt;
=Grundlegende Struktur eines Dockerfiles=&lt;br /&gt;
*Jede Zeile im Dockerfile stellt eine Anweisung dar.&lt;br /&gt;
*Anweisungen beginnen in der Regel mit einem Schlüsselwort gefolgt von Argumenten.&lt;br /&gt;
*Kommentare können mit einem `#` eingeleitet werden.&lt;br /&gt;
=Wichtige Dockerfile-Anweisungen=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Schlüsselwort&lt;br /&gt;
! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| FROM&lt;br /&gt;
| Definiert das Basis-Image, von dem das neue Image erstellt wird.&lt;br /&gt;
|-&lt;br /&gt;
| RUN&lt;br /&gt;
| Führt einen Shell-Befehl aus und erstellt eine neue Ebene im Image.&lt;br /&gt;
|-&lt;br /&gt;
| CMD&lt;br /&gt;
| Gibt den Standardbefehl an, der beim Starten des Containers ausgeführt wird.&lt;br /&gt;
|-&lt;br /&gt;
| ENTRYPOINT&lt;br /&gt;
| Legt den Einstiegspunkt für den Container fest; wird üblicherweise für ausführbare Anwendungen verwendet.&lt;br /&gt;
|-&lt;br /&gt;
| WORKDIR&lt;br /&gt;
| Legt das Arbeitsverzeichnis für nachfolgende Anweisungen fest.&lt;br /&gt;
|-&lt;br /&gt;
| COPY&lt;br /&gt;
| Kopiert Dateien oder Verzeichnisse vom lokalen System in das Image.&lt;br /&gt;
|-&lt;br /&gt;
| ADD&lt;br /&gt;
| Ähnlich wie `COPY`, kann jedoch auch remote-Dateien hinzufügen oder Archive automatisch entpacken.&lt;br /&gt;
|-&lt;br /&gt;
| EXPOSE&lt;br /&gt;
| Informiert Docker, dass der Container auf einem bestimmten Netzwerk-Port lauscht.&lt;br /&gt;
|-&lt;br /&gt;
| ENV&lt;br /&gt;
| Setzt Umgebungsvariablen für das Image.&lt;br /&gt;
|-&lt;br /&gt;
| VOLUME&lt;br /&gt;
| Erstellt einen Speicherbereich für Daten, die von einem Container verwendet werden.&lt;br /&gt;
|-&lt;br /&gt;
| USER&lt;br /&gt;
| Setzt den Benutzer für nachfolgende Anweisungen und für den laufenden Container.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Best Practices für Dockerfiles=&lt;br /&gt;
*Verwenden von eiemn minimales Basis-Image: &lt;br /&gt;
**Verwenden Sie Images wie `alpine` oder `slim`, um die Größe des endgültigen Images zu reduzieren.&lt;br /&gt;
*Sortieren Sie mehrzeilige Argumente: &lt;br /&gt;
**Ordnen Sie mehrzeilige Argumente alphabetisch, um die Lesbarkeit zu verbessern und die Größe des Docker-Images zu reduzieren.&lt;br /&gt;
*Verwenden Sie `COPY` statt `ADD`, es sei denn, Sie benötigen spezielle Funktionen von `ADD`.&lt;br /&gt;
*Führen Sie mehrere `RUN`-Anweisungen in einer Zeile zusammen, um die Anzahl der erstellten Schichten zu reduzieren und die Größe des Images zu minimieren.&lt;br /&gt;
*Verwenden Sie Umgebungsvariablen für konfigurierbare Werte, um die Wiederverwendung des Images zu fördern.&lt;br /&gt;
*Bereinigen Sie temporäre Dateien und Cache nach der Installation von Paketen.&lt;br /&gt;
*Verwenden Sie `.dockerignore`, um unnötige Dateien aus dem Build-Kontext auszuschließen.&lt;br /&gt;
*Starten Sie Anwendungen im Container als Nicht-Root-Benutzer.&lt;br /&gt;
&lt;br /&gt;
=Dockerfile erstellen und Image bauen=&lt;br /&gt;
*Erstellen Sie eine Datei namens `Dockerfile` (ohne Dateierweiterung) im Projektverzeichnis.&lt;br /&gt;
*Fügen Sie die gewünschten Anweisungen hinzu, entsprechend den Anforderungen Ihres Projekts&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45064</id>
		<title>Dockerfile</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45064"/>
		<updated>2023-05-11T12:13:31Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: /* Was ist eine Dockerfile? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Was ist eine Dockerfile?=&lt;br /&gt;
*Eine Dockerfile ist eine Textdatei, die Anweisungen zur Erstellung eines Docker-Images enthält.&lt;br /&gt;
*Es ermöglicht eine automatisierte, reproduzierbare und versionierbare Erstellung von Docker-Images.&lt;br /&gt;
&lt;br /&gt;
=Grundlegende Struktur eines Dockerfiles=&lt;br /&gt;
*Jede Zeile im Dockerfile stellt eine Anweisung dar.&lt;br /&gt;
*Anweisungen beginnen in der Regel mit einem Schlüsselwort gefolgt von Argumenten.&lt;br /&gt;
*Kommentare können mit einem `#` eingeleitet werden.&lt;br /&gt;
=Wichtige Dockerfile-Anweisungen=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! FROM&lt;br /&gt;
! Definiert das Basis-Image, von dem das neue Image erstellt wird.&lt;br /&gt;
|-&lt;br /&gt;
| RUN&lt;br /&gt;
| Führt einen Shell-Befehl aus und erstellt eine neue Ebene im Image.&lt;br /&gt;
|-&lt;br /&gt;
| CMD&lt;br /&gt;
| Gibt den Standardbefehl an, der beim Starten des Containers ausgeführt wird.&lt;br /&gt;
|-&lt;br /&gt;
| ENTRYPOINT&lt;br /&gt;
| Legt den Einstiegspunkt für den Container fest; wird üblicherweise für ausführbare Anwendungen verwendet.&lt;br /&gt;
|-&lt;br /&gt;
| WORKDIR&lt;br /&gt;
| Legt das Arbeitsverzeichnis für nachfolgende Anweisungen fest.&lt;br /&gt;
|-&lt;br /&gt;
| COPY&lt;br /&gt;
| Kopiert Dateien oder Verzeichnisse vom lokalen System in das Image.&lt;br /&gt;
|-&lt;br /&gt;
| ADD&lt;br /&gt;
| Ähnlich wie `COPY`, kann jedoch auch remote-Dateien hinzufügen oder Archive automatisch entpacken.&lt;br /&gt;
|-&lt;br /&gt;
| EXPOSE&lt;br /&gt;
| Informiert Docker, dass der Container auf einem bestimmten Netzwerk-Port lauscht.&lt;br /&gt;
|-&lt;br /&gt;
| ENV&lt;br /&gt;
| Setzt Umgebungsvariablen für das Image.&lt;br /&gt;
|-&lt;br /&gt;
| VOLUME&lt;br /&gt;
| Erstellt einen Speicherbereich für Daten, die von einem Container verwendet werden.&lt;br /&gt;
|-&lt;br /&gt;
| USER&lt;br /&gt;
| Setzt den Benutzer für nachfolgende Anweisungen und für den laufenden Container.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Best Practices für Dockerfiles=&lt;br /&gt;
*Verwenden von eiemn minimales Basis-Image: &lt;br /&gt;
**Verwenden Sie Images wie `alpine` oder `slim`, um die Größe des endgültigen Images zu reduzieren.&lt;br /&gt;
*Sortieren Sie mehrzeilige Argumente: &lt;br /&gt;
**Ordnen Sie mehrzeilige Argumente alphabetisch, um die Lesbarkeit zu verbessern und die Größe des Docker-Images zu reduzieren.&lt;br /&gt;
*Verwenden Sie `COPY` statt `ADD`, es sei denn, Sie benötigen spezielle Funktionen von `ADD`.&lt;br /&gt;
*Führen Sie mehrere `RUN`-Anweisungen in einer Zeile zusammen, um die Anzahl der erstellten Schichten zu reduzieren und die Größe des Images zu minimieren.&lt;br /&gt;
*Verwenden Sie Umgebungsvariablen für konfigurierbare Werte, um die Wiederverwendung des Images zu fördern.&lt;br /&gt;
*Bereinigen Sie temporäre Dateien und Cache nach der Installation von Paketen.&lt;br /&gt;
*Verwenden Sie `.dockerignore`, um unnötige Dateien aus dem Build-Kontext auszuschließen.&lt;br /&gt;
*Starten Sie Anwendungen im Container als Nicht-Root-Benutzer.&lt;br /&gt;
&lt;br /&gt;
=Dockerfile erstellen und Image bauen=&lt;br /&gt;
*Erstellen Sie eine Datei namens `Dockerfile` (ohne Dateierweiterung) im Projektverzeichnis.&lt;br /&gt;
*Fügen Sie die gewünschten Anweisungen hinzu, entsprechend den Anforderungen Ihres Projekts&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45063</id>
		<title>Dockerfile</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45063"/>
		<updated>2023-05-11T12:13:27Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: /* Was ist ein Dockerfile? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Was ist eine Dockerfile?=&lt;br /&gt;
*Ein Dockerfile ist eine Textdatei, die Anweisungen zur Erstellung eines Docker-Images enthält.&lt;br /&gt;
*Es ermöglicht eine automatisierte, reproduzierbare und versionierbare Erstellung von Docker-Images.&lt;br /&gt;
&lt;br /&gt;
=Grundlegende Struktur eines Dockerfiles=&lt;br /&gt;
*Jede Zeile im Dockerfile stellt eine Anweisung dar.&lt;br /&gt;
*Anweisungen beginnen in der Regel mit einem Schlüsselwort gefolgt von Argumenten.&lt;br /&gt;
*Kommentare können mit einem `#` eingeleitet werden.&lt;br /&gt;
=Wichtige Dockerfile-Anweisungen=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! FROM&lt;br /&gt;
! Definiert das Basis-Image, von dem das neue Image erstellt wird.&lt;br /&gt;
|-&lt;br /&gt;
| RUN&lt;br /&gt;
| Führt einen Shell-Befehl aus und erstellt eine neue Ebene im Image.&lt;br /&gt;
|-&lt;br /&gt;
| CMD&lt;br /&gt;
| Gibt den Standardbefehl an, der beim Starten des Containers ausgeführt wird.&lt;br /&gt;
|-&lt;br /&gt;
| ENTRYPOINT&lt;br /&gt;
| Legt den Einstiegspunkt für den Container fest; wird üblicherweise für ausführbare Anwendungen verwendet.&lt;br /&gt;
|-&lt;br /&gt;
| WORKDIR&lt;br /&gt;
| Legt das Arbeitsverzeichnis für nachfolgende Anweisungen fest.&lt;br /&gt;
|-&lt;br /&gt;
| COPY&lt;br /&gt;
| Kopiert Dateien oder Verzeichnisse vom lokalen System in das Image.&lt;br /&gt;
|-&lt;br /&gt;
| ADD&lt;br /&gt;
| Ähnlich wie `COPY`, kann jedoch auch remote-Dateien hinzufügen oder Archive automatisch entpacken.&lt;br /&gt;
|-&lt;br /&gt;
| EXPOSE&lt;br /&gt;
| Informiert Docker, dass der Container auf einem bestimmten Netzwerk-Port lauscht.&lt;br /&gt;
|-&lt;br /&gt;
| ENV&lt;br /&gt;
| Setzt Umgebungsvariablen für das Image.&lt;br /&gt;
|-&lt;br /&gt;
| VOLUME&lt;br /&gt;
| Erstellt einen Speicherbereich für Daten, die von einem Container verwendet werden.&lt;br /&gt;
|-&lt;br /&gt;
| USER&lt;br /&gt;
| Setzt den Benutzer für nachfolgende Anweisungen und für den laufenden Container.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Best Practices für Dockerfiles=&lt;br /&gt;
*Verwenden von eiemn minimales Basis-Image: &lt;br /&gt;
**Verwenden Sie Images wie `alpine` oder `slim`, um die Größe des endgültigen Images zu reduzieren.&lt;br /&gt;
*Sortieren Sie mehrzeilige Argumente: &lt;br /&gt;
**Ordnen Sie mehrzeilige Argumente alphabetisch, um die Lesbarkeit zu verbessern und die Größe des Docker-Images zu reduzieren.&lt;br /&gt;
*Verwenden Sie `COPY` statt `ADD`, es sei denn, Sie benötigen spezielle Funktionen von `ADD`.&lt;br /&gt;
*Führen Sie mehrere `RUN`-Anweisungen in einer Zeile zusammen, um die Anzahl der erstellten Schichten zu reduzieren und die Größe des Images zu minimieren.&lt;br /&gt;
*Verwenden Sie Umgebungsvariablen für konfigurierbare Werte, um die Wiederverwendung des Images zu fördern.&lt;br /&gt;
*Bereinigen Sie temporäre Dateien und Cache nach der Installation von Paketen.&lt;br /&gt;
*Verwenden Sie `.dockerignore`, um unnötige Dateien aus dem Build-Kontext auszuschließen.&lt;br /&gt;
*Starten Sie Anwendungen im Container als Nicht-Root-Benutzer.&lt;br /&gt;
&lt;br /&gt;
=Dockerfile erstellen und Image bauen=&lt;br /&gt;
*Erstellen Sie eine Datei namens `Dockerfile` (ohne Dateierweiterung) im Projektverzeichnis.&lt;br /&gt;
*Fügen Sie die gewünschten Anweisungen hinzu, entsprechend den Anforderungen Ihres Projekts&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45062</id>
		<title>Dockerfile</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45062"/>
		<updated>2023-05-11T12:13:17Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Was ist ein Dockerfile?=&lt;br /&gt;
*Ein Dockerfile ist eine Textdatei, die Anweisungen zur Erstellung eines Docker-Images enthält.&lt;br /&gt;
*Es ermöglicht eine automatisierte, reproduzierbare und versionierbare Erstellung von Docker-Images.&lt;br /&gt;
&lt;br /&gt;
=Grundlegende Struktur eines Dockerfiles=&lt;br /&gt;
*Jede Zeile im Dockerfile stellt eine Anweisung dar.&lt;br /&gt;
*Anweisungen beginnen in der Regel mit einem Schlüsselwort gefolgt von Argumenten.&lt;br /&gt;
*Kommentare können mit einem `#` eingeleitet werden.&lt;br /&gt;
=Wichtige Dockerfile-Anweisungen=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! FROM&lt;br /&gt;
! Definiert das Basis-Image, von dem das neue Image erstellt wird.&lt;br /&gt;
|-&lt;br /&gt;
| RUN&lt;br /&gt;
| Führt einen Shell-Befehl aus und erstellt eine neue Ebene im Image.&lt;br /&gt;
|-&lt;br /&gt;
| CMD&lt;br /&gt;
| Gibt den Standardbefehl an, der beim Starten des Containers ausgeführt wird.&lt;br /&gt;
|-&lt;br /&gt;
| ENTRYPOINT&lt;br /&gt;
| Legt den Einstiegspunkt für den Container fest; wird üblicherweise für ausführbare Anwendungen verwendet.&lt;br /&gt;
|-&lt;br /&gt;
| WORKDIR&lt;br /&gt;
| Legt das Arbeitsverzeichnis für nachfolgende Anweisungen fest.&lt;br /&gt;
|-&lt;br /&gt;
| COPY&lt;br /&gt;
| Kopiert Dateien oder Verzeichnisse vom lokalen System in das Image.&lt;br /&gt;
|-&lt;br /&gt;
| ADD&lt;br /&gt;
| Ähnlich wie `COPY`, kann jedoch auch remote-Dateien hinzufügen oder Archive automatisch entpacken.&lt;br /&gt;
|-&lt;br /&gt;
| EXPOSE&lt;br /&gt;
| Informiert Docker, dass der Container auf einem bestimmten Netzwerk-Port lauscht.&lt;br /&gt;
|-&lt;br /&gt;
| ENV&lt;br /&gt;
| Setzt Umgebungsvariablen für das Image.&lt;br /&gt;
|-&lt;br /&gt;
| VOLUME&lt;br /&gt;
| Erstellt einen Speicherbereich für Daten, die von einem Container verwendet werden.&lt;br /&gt;
|-&lt;br /&gt;
| USER&lt;br /&gt;
| Setzt den Benutzer für nachfolgende Anweisungen und für den laufenden Container.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Best Practices für Dockerfiles=&lt;br /&gt;
*Verwenden von eiemn minimales Basis-Image: &lt;br /&gt;
**Verwenden Sie Images wie `alpine` oder `slim`, um die Größe des endgültigen Images zu reduzieren.&lt;br /&gt;
*Sortieren Sie mehrzeilige Argumente: &lt;br /&gt;
**Ordnen Sie mehrzeilige Argumente alphabetisch, um die Lesbarkeit zu verbessern und die Größe des Docker-Images zu reduzieren.&lt;br /&gt;
*Verwenden Sie `COPY` statt `ADD`, es sei denn, Sie benötigen spezielle Funktionen von `ADD`.&lt;br /&gt;
*Führen Sie mehrere `RUN`-Anweisungen in einer Zeile zusammen, um die Anzahl der erstellten Schichten zu reduzieren und die Größe des Images zu minimieren.&lt;br /&gt;
*Verwenden Sie Umgebungsvariablen für konfigurierbare Werte, um die Wiederverwendung des Images zu fördern.&lt;br /&gt;
*Bereinigen Sie temporäre Dateien und Cache nach der Installation von Paketen.&lt;br /&gt;
*Verwenden Sie `.dockerignore`, um unnötige Dateien aus dem Build-Kontext auszuschließen.&lt;br /&gt;
*Starten Sie Anwendungen im Container als Nicht-Root-Benutzer.&lt;br /&gt;
&lt;br /&gt;
=Dockerfile erstellen und Image bauen=&lt;br /&gt;
*Erstellen Sie eine Datei namens `Dockerfile` (ohne Dateierweiterung) im Projektverzeichnis.&lt;br /&gt;
*Fügen Sie die gewünschten Anweisungen hinzu, entsprechend den Anforderungen Ihres Projekts&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45061</id>
		<title>Dockerfile</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Dockerfile&amp;diff=45061"/>
		<updated>2023-05-11T12:13:01Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: Die Seite wurde neu angelegt: „=Was ist ein Dockerfile?= *Ein Dockerfile ist eine Textdatei, die Anweisungen zur Erstellung eines Docker-Images enthält. *Es ermöglicht eine automatisierte,…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Was ist ein Dockerfile?=&lt;br /&gt;
*Ein Dockerfile ist eine Textdatei, die Anweisungen zur Erstellung eines Docker-Images enthält.&lt;br /&gt;
*Es ermöglicht eine automatisierte, reproduzierbare und versionierbare Erstellung von Docker-Images.&lt;br /&gt;
&lt;br /&gt;
=Grundlegende Struktur eines Dockerfiles=&lt;br /&gt;
*Jede Zeile im Dockerfile stellt eine Anweisung dar.&lt;br /&gt;
*Anweisungen beginnen in der Regel mit einem Schlüsselwort gefolgt von Argumenten.&lt;br /&gt;
*Kommentare können mit einem `#` eingeleitet werden.&lt;br /&gt;
=Wichtige Dockerfile-Anweisungen=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! FROM&lt;br /&gt;
! Definiert das Basis-Image, von dem das neue Image erstellt wird.&lt;br /&gt;
|-&lt;br /&gt;
| RUN&lt;br /&gt;
| Führt einen Shell-Befehl aus und erstellt eine neue Ebene im Image.&lt;br /&gt;
|-&lt;br /&gt;
| CMD&lt;br /&gt;
| Gibt den Standardbefehl an, der beim Starten des Containers ausgeführt wird.&lt;br /&gt;
|-&lt;br /&gt;
| ENTRYPOINT&lt;br /&gt;
| Legt den Einstiegspunkt für den Container fest; wird üblicherweise für ausführbare Anwendungen verwendet.&lt;br /&gt;
|-&lt;br /&gt;
| WORKDIR&lt;br /&gt;
| Legt das Arbeitsverzeichnis für nachfolgende Anweisungen fest.&lt;br /&gt;
|-&lt;br /&gt;
| COPY&lt;br /&gt;
| Kopiert Dateien oder Verzeichnisse vom lokalen System in das Image.&lt;br /&gt;
|-&lt;br /&gt;
| ADD&lt;br /&gt;
| Ähnlich wie `COPY`, kann jedoch auch remote-Dateien hinzufügen oder Archive automatisch entpacken.&lt;br /&gt;
|-&lt;br /&gt;
| EXPOSE&lt;br /&gt;
| Informiert Docker, dass der Container auf einem bestimmten Netzwerk-Port lauscht.&lt;br /&gt;
|-&lt;br /&gt;
| ENV&lt;br /&gt;
| Setzt Umgebungsvariablen für das Image.&lt;br /&gt;
|-&lt;br /&gt;
| VOLUME&lt;br /&gt;
| Erstellt einen Speicherbereich für Daten, die von einem Container verwendet werden.&lt;br /&gt;
|-&lt;br /&gt;
| USER&lt;br /&gt;
| Setzt den Benutzer für nachfolgende Anweisungen und für den laufenden Container.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
4. Best Practices für Dockerfiles:&lt;br /&gt;
*Verwenden von eiemn minimales Basis-Image: &lt;br /&gt;
**Verwenden Sie Images wie `alpine` oder `slim`, um die Größe des endgültigen Images zu reduzieren.&lt;br /&gt;
*Sortieren Sie mehrzeilige Argumente: &lt;br /&gt;
**Ordnen Sie mehrzeilige Argumente alphabetisch, um die Lesbarkeit zu verbessern und die Größe des Docker-Images zu reduzieren.&lt;br /&gt;
*Verwenden Sie `COPY` statt `ADD`, es sei denn, Sie benötigen spezielle Funktionen von `ADD`.&lt;br /&gt;
*Führen Sie mehrere `RUN`-Anweisungen in einer Zeile zusammen, um die Anzahl der erstellten Schichten zu reduzieren und die Größe des Images zu minimieren.&lt;br /&gt;
*Verwenden Sie Umgebungsvariablen für konfigurierbare Werte, um die Wiederverwendung des Images zu fördern.&lt;br /&gt;
*Bereinigen Sie temporäre Dateien und Cache nach der Installation von Paketen.&lt;br /&gt;
*Verwenden Sie `.dockerignore`, um unnötige Dateien aus dem Build-Kontext auszuschließen.&lt;br /&gt;
*Starten Sie Anwendungen im Container als Nicht-Root-Benutzer.&lt;br /&gt;
&lt;br /&gt;
5. Dockerfile erstellen und Image bauen:&lt;br /&gt;
*Erstellen Sie eine Datei namens `Dockerfile` (ohne Dateierweiterung) im Projektverzeichnis.&lt;br /&gt;
*Fügen Sie die gewünschten Anweisungen hinzu, entsprechend den Anforderungen Ihres Projekts&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Docker&amp;diff=45057</id>
		<title>Docker</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Docker&amp;diff=45057"/>
		<updated>2023-05-11T12:05:34Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Was ist Docker?]]&lt;br /&gt;
*[[Docker Installation]]&lt;br /&gt;
*[[Docker Basics]]&lt;br /&gt;
*[[docker-swarm]]&lt;br /&gt;
*[[Dockerfile]]&lt;br /&gt;
*[[Docker Image bauen]]&lt;br /&gt;
*[[Docker Image hochladen]]&lt;br /&gt;
*[[Docker Docker Hub]]&lt;br /&gt;
*[[Docker old Stuff]]&lt;br /&gt;
*[[Docker Windows]]&lt;br /&gt;
*[[Docker Traefik]]&lt;br /&gt;
*[[Docker Nginx Proxy Manager]]&lt;br /&gt;
=beispiele=&lt;br /&gt;
*[[docker container]]&lt;br /&gt;
*[[docker bind9]]&lt;br /&gt;
*[[docker bind9 und ssh]]&lt;br /&gt;
*[[mysql und mediawiki]]&lt;br /&gt;
&lt;br /&gt;
=Traefik Basic auth password generieren=&lt;br /&gt;
*echo $(htpasswd -nb user password) | sed -e s/\\$/\\$\\$/g&lt;br /&gt;
&lt;br /&gt;
=links=&lt;br /&gt;
*https://www.digitalocean.com/community/tutorials/how-to-create-and-run-a-service-on-a-coreos-cluster&lt;br /&gt;
&lt;br /&gt;
*http://www.linux-magazin.de/NEWS/Docker-1.2.0-mit-Policy-fuer-Neustarts&lt;br /&gt;
&lt;br /&gt;
*https://docs.docker.com/articles/networking/&lt;br /&gt;
*https://www.debinux.de/2014/04/docker-io-grundlagen-zum-interaktiven-arbeiten/&lt;br /&gt;
*http://wiki.ubuntuusers.de/Baustelle/Docker&lt;br /&gt;
*https://docs.docker.com/userguide/usingdocker/&lt;br /&gt;
*http://www.heise.de/developer/artikel/Anwendungen-mit-Docker-transportabel-machen-2127220.html?artikelseite=1&lt;br /&gt;
;wichtig&lt;br /&gt;
*http://stackoverflow.com/questions/25135897/how-to-automatically-start-a-service-when-running-a-docker-container&lt;br /&gt;
vodoo of entrypoint :-)&lt;br /&gt;
*http://stackoverflow.com/questions/21553353/what-is-the-difference-between-cmd-and-entrypoint-in-a-dockerfile&lt;br /&gt;
; mehrere dienste parallel starten&lt;br /&gt;
*https://docs.docker.com/articles/using_supervisord/&lt;br /&gt;
&lt;br /&gt;
*https://blog.codecentric.de/2014/01/leichtgewichtige-virtuelle-maschinen-mit-docker-oder-wie-man-100-vms-laufen/&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Subnetting&amp;diff=44255</id>
		<title>Subnetting</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Subnetting&amp;diff=44255"/>
		<updated>2023-04-18T12:39:04Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: /* Gruppengröße */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Warum das Ganze?=&lt;br /&gt;
*Subnetting wird dafür genutzt, um große aber auch kleinere physische Netzwerke in logische Teilnetze zu unterteilen.&lt;br /&gt;
*Von außen hin aber, wird das Netz nur als ein großes wahrgenommen.&lt;br /&gt;
*Durch die rasche Entwicklung des Internets, und dem somit verbundenen Mangel an IP-Adressen, wurde nach einer passenden Lösung gesucht. &lt;br /&gt;
*Diese Lösung offenbarte sich unter anderem als Subnetting.&lt;br /&gt;
&lt;br /&gt;
=Gründe für Subnetting=&lt;br /&gt;
*Trennen von Netzwerken unterschiedlicher Topologie&lt;br /&gt;
*Trennen von Netzwerken nach Standorten, Gebäuden und Etagen&lt;br /&gt;
*Trennen von Netzwerken nach Abteilungen und Bereichen&lt;br /&gt;
*Trennen von sensitiven Bereichen vom Hauptnetz&lt;br /&gt;
*Trennen des Netzwerks in logische Arbeitsgruppen&lt;br /&gt;
*Trennen des Netzwerks zur Reduzierung des Verkehrsaufkommens&lt;br /&gt;
=Vorteil von Subnetting=&lt;br /&gt;
*Flexibilität bei der Adressierung für den Administrator.&lt;br /&gt;
*Broadcast-Unterteilung.&lt;br /&gt;
*Höhere Sicherheit des LANs.&lt;br /&gt;
*Ungenutzte IP-Adressen können vermietet oder verkauft werden.&lt;br /&gt;
=Aufteilen von Netzwerken=&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&lt;br /&gt;
!colspan=&amp;quot;32&amp;quot;| Netze&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;32&amp;quot; style=&amp;quot;width:100%;&amp;quot; |172.17.0.0/16&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;16&amp;quot; style=&amp;quot;width:50%;&amp;quot; |172.17.0.0/17&lt;br /&gt;
|colspan=&amp;quot;16&amp;quot; style=&amp;quot;width:50%;&amp;quot; |172.17.128.0/17&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot; style=&amp;quot;width:25%;&amp;quot; |172.17.0.0/18&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot; style=&amp;quot;width:25%;&amp;quot; |172.17.64.0/18&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot; style=&amp;quot;width:25%;&amp;quot; |172.17.128.0/18&lt;br /&gt;
|colspan=&amp;quot;8&amp;quot; style=&amp;quot;width:25%;&amp;quot; |172.17.192.0/18&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; style=&amp;quot;width:12.5%;&amp;quot; |172.17.0.0/19&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; style=&amp;quot;width:12.5%;&amp;quot; |172.17.32.0/19&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; style=&amp;quot;width:12.5%;&amp;quot; |172.17.64.0/19&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; style=&amp;quot;width:12.5%;&amp;quot; |172.17.96.0/19&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; style=&amp;quot;width:12.5%;&amp;quot; |172.17.128.0/19&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; style=&amp;quot;width:12.5%;&amp;quot; |172.17.160.0/19&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; style=&amp;quot;width:12.5%;&amp;quot; |172.17.192.0/19&lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; style=&amp;quot;width:12.5%;&amp;quot; |172.17.224.0/19&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Zusammenspiel=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Oktett&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Bit gesetzt&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Netzgrösse&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Netzanzahl&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|256&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|128&lt;br /&gt;
|1&lt;br /&gt;
|128&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|192&lt;br /&gt;
|2&lt;br /&gt;
|64&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
|224&lt;br /&gt;
|3&lt;br /&gt;
|32&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
|240&lt;br /&gt;
|4&lt;br /&gt;
|16&lt;br /&gt;
|16&lt;br /&gt;
|-&lt;br /&gt;
|248&lt;br /&gt;
|5&lt;br /&gt;
|8&lt;br /&gt;
|32&lt;br /&gt;
|-&lt;br /&gt;
|252&lt;br /&gt;
|6&lt;br /&gt;
|4&lt;br /&gt;
|64&lt;br /&gt;
|-&lt;br /&gt;
|254&lt;br /&gt;
|7&lt;br /&gt;
|2&lt;br /&gt;
|128&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Berechnung des Netzes aus einer IP-Adresse mit CIDR-Notation =&lt;br /&gt;
&lt;br /&gt;
* Oft werden nur diese 2 Informationen bei Aufgaben gegeben&lt;br /&gt;
* z.B. soll für die IP '''158.233.43.194/21''' das passende Netz, die Maske und die Broadcast-Adresse gefunden werden&lt;br /&gt;
&lt;br /&gt;
== Indizierung ==&lt;br /&gt;
&lt;br /&gt;
* Man zählt die Oktette bei &amp;lt;math display=&amp;quot;inline&amp;quot;&amp;gt;0&amp;lt;/math&amp;gt; beginnend&lt;br /&gt;
&lt;br /&gt;
{{#drawio:subnet-oktett-indices}}&lt;br /&gt;
&lt;br /&gt;
== Interessantes Oktett ==&lt;br /&gt;
&lt;br /&gt;
* Das interessante Oktett ist die einzige zu berechnende Zahl&lt;br /&gt;
* Alles davor bleibt wie es war&lt;br /&gt;
* Alles danach ist &amp;lt;math display=&amp;quot;inline&amp;quot;&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
* Das interessante Oktett berechnet sich durch die Division der CIDR Zahl durch &amp;lt;math display=&amp;quot;inline&amp;quot;&amp;gt;8&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math display=&amp;quot;inline&amp;quot;&amp;gt;\text{CIDR} \div 8 = \text{int. Oktettt}\ R\ \text{Rest}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In diesem Beispiel wäre es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math display=&amp;quot;inline&amp;quot;&amp;gt;21 \div 8 = \underline{2}\ R\ 5&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Also ist das interessante Oktett die &amp;lt;math display=&amp;quot;inline&amp;quot;&amp;gt;43&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gruppengröße ==&lt;br /&gt;
&lt;br /&gt;
* Der Rest aus der letzten Gleichung ist auch wichtig, da man dadurch die Intervalle zwischen den Netzen berechnen kann&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math display=&amp;quot;inline&amp;quot;&amp;gt;2^{8 - \text{Rest}} = \text{Gruppengröße}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Hier also:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math display=&amp;quot;inline&amp;quot;&amp;gt;2^{8 - 5} = 2^3 = \underline{8}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Um jetzt das Netz zu berechnen müssen wir nur noch die Ergebnisse in die folgende Gleichung einsetzen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math display=&amp;quot;inline&amp;quot;&amp;gt;\lfloor \text{Wert d. int. Oktetts} \div \text{Gruppengröße} \rfloor \times \text{Gruppengröße} = \text{Netzbeginn}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In &amp;lt;math display=&amp;quot;inline&amp;quot;&amp;gt;\lfloor ... \rfloor&amp;lt;/math&amp;gt; stehende Zahlen werden auf die nächst kleinere ganze Zahl abgerundet&lt;br /&gt;
* Eingesetzt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math display=&amp;quot;inline&amp;quot;&amp;gt;\lfloor 43 \div 8 \rfloor \times 8 = \lfloor 5.375 \rfloor \times 8 = 5 \times 8 = \underline{40}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Netz und Broadcast ==&lt;br /&gt;
&lt;br /&gt;
* Wie schon erwähnt bleibt alles vor dem interessanten Oktett gleich…&lt;br /&gt;
* …und alles danach wird gleich &amp;lt;math display=&amp;quot;inline&amp;quot;&amp;gt;0&amp;lt;/math&amp;gt; gesetzt&lt;br /&gt;
* Daraus ergibt sich das folgende Netz: '''158.233.40.0/21'''&lt;br /&gt;
* Die Broadcast-IP lässt sich auch wieder durch das interessante Oktett berechnen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math display=&amp;quot;inline&amp;quot;&amp;gt;\text{Netzbeginn} + \text{Gruppengröße} - 1 = \text{Broadcast}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Mit unseren Zahlen also:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math display=&amp;quot;inline&amp;quot;&amp;gt;40 + 8 - 1 = \underline{47}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Alles dahinter wird dann auf &amp;lt;math display=&amp;quot;inline&amp;quot;&amp;gt;255&amp;lt;/math&amp;gt; gesetzt&lt;br /&gt;
* Hier wäre die Broadcast-IP also: '''158.233.47.255'''&lt;br /&gt;
&lt;br /&gt;
= Netzmaske berechnen =&lt;br /&gt;
&lt;br /&gt;
* Man kann die Netzmaske auch aus dem interessanten Oktett und der Gruppengröße berechnen&lt;br /&gt;
* Dazu zieht man von 256 die Gruppengröße ab und setzt es anstelle des interessanten Oktetts ein:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math display=&amp;quot;inline&amp;quot;&amp;gt;256 - \text{Gruppengröße} = \text{Maske}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Hier also:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math display=&amp;quot;inline&amp;quot;&amp;gt;256 - 8 = \underline{248}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Somit ist die Netzmaske: '''255.255.248.0'''&lt;br /&gt;
&lt;br /&gt;
= Zusammenfassung der Schritte =&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;math display=&amp;quot;inline&amp;quot;&amp;gt;\text{CIDR} \div 8 = \text{int. Oktettt}\ R\ \text{Rest}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &amp;lt;math display=&amp;quot;inline&amp;quot;&amp;gt;2^{8 - \text{Rest}} = \text{Gruppengröße}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &amp;lt;math display=&amp;quot;inline&amp;quot;&amp;gt;\lfloor \text{Wert d. int. Oktetts} \div \text{Gruppengröße} \rfloor \times \text{Gruppengröße} = \text{Netzbeginn}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &amp;lt;math display=&amp;quot;inline&amp;quot;&amp;gt;\text{Netzbeginn} + \text{Gruppengröße} - 1 = \text{Broadcast}&amp;lt;/math&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Docker_Nginx_Proxy_Manager_Beispiel&amp;diff=42929</id>
		<title>Docker Nginx Proxy Manager Beispiel</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Docker_Nginx_Proxy_Manager_Beispiel&amp;diff=42929"/>
		<updated>2023-03-08T14:17:00Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Neuen Host Hinzufügen=&lt;br /&gt;
*Hosts&lt;br /&gt;
**Proxy Hosts&lt;br /&gt;
***Add Proxy Host&lt;br /&gt;
==Settings==&lt;br /&gt;
===General Settings===&lt;br /&gt;
[[Image:Docker Nginx Proxy Manager New Host.png|600px]]&lt;br /&gt;
===SSL Settings===&lt;br /&gt;
[[Image:Docker Nginx Proxy Manager New Host SSL Settings.png|600px]]&lt;br /&gt;
*Nachdem die Einstellungen abgespeichert wurden, ist der Container under der eingegebenen Domain erreichbar.&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Datei:Docker_Nginx_Proxy_Manager_New_Host_SSL_Settings.png&amp;diff=42928</id>
		<title>Datei:Docker Nginx Proxy Manager New Host SSL Settings.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Datei:Docker_Nginx_Proxy_Manager_New_Host_SSL_Settings.png&amp;diff=42928"/>
		<updated>2023-03-08T14:15:21Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Docker_Nginx_Proxy_Manager_Beispiel&amp;diff=42927</id>
		<title>Docker Nginx Proxy Manager Beispiel</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Docker_Nginx_Proxy_Manager_Beispiel&amp;diff=42927"/>
		<updated>2023-03-08T14:15:10Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Neuen Host Hinzufügen=&lt;br /&gt;
*Hosts&lt;br /&gt;
**Proxy Hosts&lt;br /&gt;
***Add Proxy Host&lt;br /&gt;
==Settings==&lt;br /&gt;
===General Settings===&lt;br /&gt;
[[Image:Docker Nginx Proxy Manager New Host.png|600px]]&lt;br /&gt;
===SSL Settings===&lt;br /&gt;
[[Image:Docker Nginx Proxy Manager New Host SSL Settings.png|600px]]&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Docker_Nginx_Proxy_Manager_Beispiel&amp;diff=42926</id>
		<title>Docker Nginx Proxy Manager Beispiel</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Docker_Nginx_Proxy_Manager_Beispiel&amp;diff=42926"/>
		<updated>2023-03-08T14:14:24Z</updated>

		<summary type="html">&lt;p&gt;Mario.zimmermann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Neuen Host Hinzufügen=&lt;br /&gt;
*Hosts&lt;br /&gt;
**Proxy Hosts&lt;br /&gt;
***Add Proxy Host&lt;br /&gt;
==Settings=&lt;br /&gt;
[[Image:Docker Nginx Proxy Manager New Host Settings.png|600px]]&lt;br /&gt;
==SSL Settings==&lt;br /&gt;
[[Image:Docker Nginx Proxy Manager New Host SSL Settings.png|600px]]&lt;/div&gt;</summary>
		<author><name>Mario.zimmermann</name></author>
	</entry>
</feed>