@startuml file dockerfile [ Dockerfile ] artifact image [ docker image ] artifact container [ docker container ] dockerfile -right-> image : docker build image -right-> container : docker run @enduml
@startuml rectangle fatvirt [ myApp --- Guest OS --- VirtualBox / vmware ... --- Host OS ] rectangle docker [ myApp --- Libraries --- Docker --- Host OS ] @enduml
-
Dockerfile: Kochrezept zum Erstellen des Images
-
Image: Immutable Image
-
Container: Ein gestartetes Image (mutable)
docker run -it --name syp_ubuntu -v ${PWD}/my_opt:/opt ubuntu:18.04 /bin/bash
Terminal 1
docker run --rm -p 8081:80 --name nginx nginx
Terminal 2
docker exec -it nginx /bin/sh
-
Ohne Docker werden auf einer Maschine mehrere Softwareprodukte installiert
-
Bei Verwendung von Docker wird für jedes Softwareprodukt ein eigener Docker-Container erstellt
docker run -it \ -v /var/run/docker.sock:/var/run/docker.sock \ -v ./jenkins-data:/var/jenkins_home \ -p 8080:8080 \ --name local-jenkins \ getintodevops/jenkins-withdocker:lts-docker19.03.5
FROM jenkins/jenkins:lts MAINTAINER [email protected] USER root # Install the latest Docker CE binaries RUN apt-get update && \ apt-get -y install apt-transport-https \ ca-certificates \ curl \ gnupg2 \ software-properties-common && \ curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg > /tmp/dkey; apt-key add /tmp/dkey && \ add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") \ $(lsb_release -cs) \ stable" && \ apt-get update && \ apt-get -y install docker-ce