🐳 Docker Commands
1. Run a New Container
- syntax of the command
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]Common Flags:
-d→ Detached mode (run in background)-it→ Interactive + TTY (useful for shell access)--name NAME→ Assign a custom name-p HOST:CONTAINER→ Map host port to container port`-P→ Publish all exposed ports to random host ports-e KEY=VALUE→ Set environment variables--env-file FILE→ Load env vars from file-v HOST:CONTAINER→ Mount volume--rm→ Automatically remove container when stopped--network NETWORK→ Connect to specific network--restart [no|always|on-failure:n|max-retries]→ Restart policy--hostname NAME→ Set container hostname--entrypoint CMD→ Override image entrypoint--cpus N→ Limit CPU usage--memory SIZE→ Limit RAM usage--user [USER, UID, UID:GID]→ Run container as specific user
Example:
docker run -dit --name web -p 8080:80 -v $(pwd):/usr/share/nginx/html nginx2. List Containers
docker ps [OPTIONS]Flags:
-a→ Show all containers (default shows only running)-q→ Show only container IDs
3. Start / Stop / Restart / Pause / Unpause Containers
pausesuspends all processes inside a container
docker start CONTAINERdocker stop CONTAINERdocker restart CONTAINERdocker pause CONTAINERdocker unpause CONTAINER4. Execute a Command Inside a Running Container
docker exec [OPTIONS] CONTAINER COMMANDFlags:
-it→ Interactive terminal--user USER→ Run command as specific user-w DIR→ Working directory inside container Example:
docker exec -it web bash5. View Container Logs
docker logs [OPTIONS] CONTAINERFlags:
-f→ Follow logs (like tail -f)--tail N→ Show last N lines--since TIME→ Show logs since specific time--until TIME→ Show logs until specific time
6. Inspect a Container
docker inspect CONTAINERFlags:
--format '{{.State.Status}}'→ Show specific fielddocker inspect --format '{{ .NetworkSettings.IPAddress }}' myappdocker inspect --format '{{ .Config.Image }}' myapp
7. Copy Files To/From container
docker cp CONTAINER:/path/to/file host_pathdocker cp host_path CONTAINER:/path/to/file`
8. Rename/Remove a Container
- Rename container
docker rename OLD_NAME NEW_NAME- Remove Containers
docker rm [OPTIONS] CONTAINER- Flags:
-f→ Force removal (kill if running)-v→ Remove anonymous volumes attached
9. Extra
- To remove all stopped containers:
docker rm $(docker ps -aq) - To stop all running containers:
docker stop $(docker ps -q) - To clean up everything (containers, images, networks, volumes):
docker system prune -a --volumes