Managing containers and images

# Processes/Containers
docker ps -a
docker ps -l
docker stop my-app
docker rm <container id>

# Run
docker run hello-world
docker run -d -p 4000:80 --name my-app node-app:0.1

# Images
docker images
docker rmi <images id>

# Build
docker build -t node-app:0.1 .

# Tag
docker tag $IMAGE:$TAG $REPO/$IMAGE:$TAG

# Push
docker push gcr.io/qwiklabs-gcp-ed2b8cc2832909a1/node-app:0.2

# Pull
docker pull gcr.io/qwiklabs-gcp-ed2b8cc2832909a1/node-app:0.2

# Logs
docker logs $CONTAINER_ID

# Exec
docker exec -it $CONTAINER_ID /bin/bash

# Inspect 
docker inspect $CONTAINER_ID		# Informacion del sistema del contenedor
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $CONTAINER_ID	# IP Local del container

Limpiando cosas dejadas por docker daemon

# Way 1 cleanup
docker rm $(docker ps -q -f status=exited)
docker volume rm $(docker volume ls -qf dangling=true)
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)

# Way 2 cleanup
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
docker rmi -f $(docker images -q)
docker volume prune

docker stop $(docker ps -a -q); docker rm $(docker ps -a -q)

docker stop $(docker ps -q)
docker rm $(docker ps -aq)
docker rmi $(docker images -aq) # remove remaining images