Benutzer-Werkzeuge

Webseiten-Werkzeuge


docker

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
docker [2024/09/27 21:39]
admin [Netzwerke]
docker [2025/06/06 21:29] (aktuell)
jango [Dockerfile]
Zeile 28: Zeile 28:
   * ENTRYPOINT: Die ENTRYPOINT-Anweisung in einem Dockerfile definiert den Standardbefehl oder das Skript, das beim Starten eines Containers ausgeführt wird. Der Befehl oder das Skript wird als ausführbare Datei innerhalb des Containers behandelt.   * ENTRYPOINT: Die ENTRYPOINT-Anweisung in einem Dockerfile definiert den Standardbefehl oder das Skript, das beim Starten eines Containers ausgeführt wird. Der Befehl oder das Skript wird als ausführbare Datei innerhalb des Containers behandelt.
   * VOLUME: Die VOLUME-Anweisung in einem Dockerfile wird verwendet, um ein oder mehrere Volumes im Container zu definieren. Ein Volume ist ein Speicherbereich, der von einem Container genutzt wird, um Daten persistent zu speichern, auch wenn der Container beendet oder neu gestartet wird.   * VOLUME: Die VOLUME-Anweisung in einem Dockerfile wird verwendet, um ein oder mehrere Volumes im Container zu definieren. Ein Volume ist ein Speicherbereich, der von einem Container genutzt wird, um Daten persistent zu speichern, auch wenn der Container beendet oder neu gestartet wird.
 +
 +<code>
 +# Ubuntu with SSH and root login
 +FROM ubuntu
 +
 +RUN apt-get update && apt-get install -y openssh-server
 +RUN mkdir /var/run/sshd
 +
 +RUN useradd -ms /bin/bash newuser
 +RUN echo "newuser:password" | chpasswd
 +
 +#RUN echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
 +
 +CMD ["/usr/sbin/sshd", "-D"]
 +</code>
  
 <code> <code>
Zeile 117: Zeile 132:
 <code> <code>
 // Im Verzeichnis wo die docker-compose.yaml Datei liegt // Im Verzeichnis wo die docker-compose.yaml Datei liegt
-sudo docker compose up -d+sudo docker compose [-f <yml-filename>up -d
  
 sudo docker compose down <deployment-name> sudo docker compose down <deployment-name>
Zeile 135: Zeile 150:
 </code> </code>
  
-Mit dem Parameter --mount kann man ein Volume in einen Container mounten.+Mit dem Parameter --mount kann man ein Volume in einen Container mounten. Mit dem Parameter -v kann man einen Pfad am Host in einen Mountpoint am Container mounten.
  
 <code> <code>
-docker run -dit --name test --mount source=<volume>,target=<mountpoint> ubuntu+docker run -dit --mount source=<docker-volume>,target=<container-mountpoint> ubuntu 
 +docker run -dit -v <host-path>:<container-path> ubuntu 
 +</code> 
 + 
 +=====LVM===== 
 + 
 +Vor der Installation bzw Inbbetriebnahme von Docker das [[LVM]] anlegen. 
 + 
 +<code> 
 +sudo mount /dev/docker_vg_lv0 /var/lib/docker 
 +</code> 
 + 
 +In der fstab 
 + 
 +<code> 
 +/dev/docker-vg/lv0 /var/lib/docker ext4 defaults 0 2
 </code> </code>
 =====Netzwerke===== =====Netzwerke=====
Zeile 178: Zeile 208:
 =====Installation===== =====Installation=====
  
-====Linux====+Docker [[https://docs.docker.com/engine/install/|Installation]]. 
 + 
 +<code> 
 +curl -fsSL https://get.docker.com -o get-docker.sh 
 +sh get-docker.sh 
 +</code> 
 + 
 +====Ubuntu==== 
 + 
 +<code> 
 +sudo apt install apt-transport-https ca-certificates curl software-properties-common 
 +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - 
 +sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" 
 +sudo apt update 
 +sudo apt install docker-ce 
 +</code>
  
 <code> <code>
Zeile 194: Zeile 239:
  
 # install docker # install docker
-sudo apt-get install -y docker-ce docker-ce-cli containerd.io+sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
 </code> </code>
  
Zeile 217: Zeile 262:
 sudo update-alternatives --config iptables sudo update-alternatives --config iptables
 </code> </code>
 +=====Docker Daemon=====
 +
 +<code>
 +nano /etc/docker/daemon.json
 +</code>
 +
 +<code>
 +{
 +  "bip": "172.17.1.1/24",
 +  "ipv6": false,
 +  "storage-driver": "devicemapper",
 +  "storage-opts": 
 +     [
 +       "dm.basesize = 41G",
 +       "dm.thinpooldev=/dev/mapper/docker--vg-thinpool",
 +       "dm.use_deferred_removal=true"
 +     ]
 +}
 +</code>
 +
 =====Usage===== =====Usage=====
  
Zeile 272: Zeile 337:
 docker volume rm test-vol docker volume rm test-vol
 docker run -dit --mount source=test-vol,target=/mount/test,readonly <image> docker run -dit --mount source=test-vol,target=/mount/test,readonly <image>
 +docker run -dit -v test-vol:/mount/test <image>
  
 // networking // networking
Zeile 306: Zeile 372:
 =====Links===== =====Links=====
  
 +  * [[https://labs.play-with-docker.com/|Play with Docker]]
   * [[https://www.redhat.com/de/topics/containers/what-is-docker|RedHat - Was ist Docker]]   * [[https://www.redhat.com/de/topics/containers/what-is-docker|RedHat - Was ist Docker]]
   * [[https://www.youtube.com/playlist?list=PLYxzS__5yYQlzv9_z1eZmZY8dzMlQFbaH|First steps - Youtube Playlist]]   * [[https://www.youtube.com/playlist?list=PLYxzS__5yYQlzv9_z1eZmZY8dzMlQFbaH|First steps - Youtube Playlist]]
docker.1727465945.txt.gz · Zuletzt geändert: 2024/09/27 21:39 von admin