Note: When typing any Docker container ID, you don't have to type the whole thing, just the necessary number of characters that will differentiate the container from others.
Start a Container
docker run ansible
docker run mongodb
... # This runs container in the foreground (attached to stdout of container and you will see output)
docker run -d <repo-name>
# this runs container in the background (detached, won't see output)
docker run <image-name>:<version> # ex. docker run redis:4.0 (called a tag)
docker run --name webapp ansible # Name conainer webapp
List Running Containers
docker ps
docker ps -a # Previously exited containers too
# When you need STDIN or to interact with the container
docker run -i <repo> # will not show user input prompt though
docker run -it <repo> # for STDIN and showing prompt (we attach ourselves to the docker container's terminal)
Inspect Containers
# Shows environmental variables of container and other information
docker inspect <container_name>
Container Logs
docker logs <container_name>
Set Environment Variables
docker run -e ENV_VAR=blue <image_name>
# Adding password to SQL database
docker run -e MYSQL_ROOT_PASSWORD=<password> mysql
Build Image
docker build -t <image_name> /directory/to/Dockerfile # Creates image based off of your Dockerfile locally
# e.g. docker build -t webapp .
docker build <dockerfile_name> -t <image_name>