Docker

From Torben's Wiki

Run container of public image

docker run --name my_nginx -v ./html://usr/share/nginx/html -d -p 8080:80 nginx
# -v mounts/links ./html as volume
# -d (detach) runs container in background
# -p port mapping

Build you own image

Dockerfile = Building instruction for Docker image

# syntax=docker/dockerfile:1

FROM ubuntu:latest

# set timezone
ENV TZ=Europe/Berlin

# prevent keyboard input requests in apt install
ARG DEBIAN_FRONTEND=noninteractive

# install core packages
RUN apt-get update
RUN apt-get dist-upgrade -y
RUN apt-get install -y python3

Build Docker Image from Dockerfile:

docker build -t myImage .

To delete the image

docker rmi myImage

Create Container from Image

Create container and mount current working dir to /src

# Linux/MacOS:
docker run --name myContainer -it --mount type=bind,src="$(pwd)",target=/src myImage bash
# Windows:
docker run --name myContainer -it --mount type=bind,src="%cd%",target=/src myImage bash

Run Container

docker start -ai myContainer

To delete the container

docker rm myContainer

Hacks

Windows Docker-Desktop: move image location

from [1]

first Exit Docker Desktop, than:
wsl --shutdown
wsl --export docker-desktop-data C:\tmp\docker-data.tar
wsl --unregister docker-desktop-data
wsl --import docker-desktop-data E:\docker\ C:\tmp\docker-data.tar --version 2