Manage Containers

Run (create + start)

# basic
docker run --name myctr myimage:latest

# daemonized, auto-restart
docker run -d --restart unless-stopped --name web myimage:latest

# map ports, env, volumes
docker run -d --name api -p 8080:80 -e TZ=Europe/London -v data:/var/lib/app app:1.0.0

# resource limits
docker run -d --cpus="1.5" --memory="512m" app:1.0.0

Start / Stop / Restart / Kill

docker start myctr
docker stop myctr
docker restart myctr
docker kill myctr

List

docker ps        # running
docker ps -a     # all (incl. exited)

Logs

docker logs myctr
docker logs -f --tail=100 myctr

Exec (shell / commands in a running container)

docker exec -it myctr /bin/sh
docker exec -it myctr bash
docker exec myctr env

Inspect

docker inspect myctr

Copy files

docker cp myctr:/var/log/app.log ./app.log
docker cp ./config.yml myctr:/etc/app/config.yml

Rename / Update

docker rename oldname newname
docker update --restart unless-stopped myctr

Remove / Prune

docker rm myctr
docker rm -f myctr          # stop + remove
docker container prune      # removes stopped containers
docker system prune         # removes unused data (confirm details)