50 Most-Used Docker Commands

🐳 50 Most-Used Docker Commands with Interactive Emulator

Docker helps you build, share, and run applications in containers. This WordPress-ready guide combines a practical command table, an emulator, guided challenges, a visual canvas, and Dockerfile + Docker Compose practice without connecting to a real Docker daemon.

Learning note: emulator output is simulated for training. Real output can vary by Docker Engine version, operating system, image tags, local resources, Docker Desktop settings, registry permissions, and compose.yaml content.

🚀 Responsive Docker Emulator

Type a command, choose a suggestion, or click “Use in Emulator” from the table. The emulator shows simulated output, guided feedback, and visual movement across images, containers, volumes, networks, Dockerfile, and Compose services.

Challenge: run docker version to start your Docker session.
DOCKER WORKSPACE
RESOURCE SCOPE 0
docker-runbook.md0/13

Docker CLI

FREE challenges are available now. LITE, PRO, and PRO Plus will be available soon with more guided labs and deeper scoring.

Expected runbook commandsdocker version
Run the next command to receive guided feedback.
Run the next command to receive guided feedback.
Dockerfile used in this challenge
This challenge focuses on Docker CLI operations. Dockerfile and Compose examples appear in the last three FREE challenges.
compose.yaml used in this challenge
compose.yaml: This challenge focuses on Docker CLI operations. Dockerfile and Compose examples appear in the last three FREE challenges.
How Docker Compose uses it: This challenge focuses on Docker CLI operations. Dockerfile and Compose examples appear in the last three FREE challenges.
Docker Visual CanvasNo changes yet: run a command to move simulated Docker resources.
What is happening?Run a Docker command to see the emulator explain how images, containers, volumes, networks, Dockerfile, and Compose change.
WORKSPACE OUTPUTwaiting
$ Waiting for a Docker command...
Run a command to see simulated Docker output here.
$ Docker Emulator Ready
Tip: choose a command from the table and click "Use in Emulator".

On small screens, the table automatically becomes cards so content is not cut off.

#Command / ParameterDescriptionExampleActions
1docker versionShow Docker client and server version information.docker version
2docker infoDisplay system-wide Docker information.docker info
3docker loginAuthenticate to a container registry.docker login
4docker logoutLog out from a container registry.docker logout
5docker searchSearch Docker Hub for images.docker search nginx
6docker pullDownload an image from a registry.docker pull nginx:latest
7docker imagesList local images.docker images
8docker image inspectInspect image metadata.docker image inspect nginx:latest
9docker image historyShow the layer history of an image.docker image history nginx:latest
10docker tagCreate a new tag for an image.docker tag nginx:latest local-nginx:v1
11docker buildBuild an image from a Dockerfile.docker build -t demo-app:1.0 .
12docker build --no-cacheBuild an image without using cache.docker build --no-cache -t demo-app:clean .
13docker runCreate and run a container from an image.docker run hello-world
14docker run -dRun a container in detached mode.docker run -d --name web -p 8080:80 nginx:latest
15docker psList running containers.docker ps
16docker ps -aList all containers, including stopped ones.docker ps -a
17docker logsShow container logs.docker logs web
18docker logs -fFollow container logs in real time.docker logs -f web
19docker execRun a command inside a running container.docker exec -it web sh
20docker stopStop a running container.docker stop web
21docker startStart a stopped container.docker start web
22docker restartRestart a container.docker restart web
23docker rmRemove a stopped container.docker rm web
24docker rmiRemove a local image.docker rmi local-nginx:v1
25docker container pruneRemove stopped containers.docker container prune -f
26docker image prune -aRemove unused images.docker image prune -a -f
27docker volume createCreate a named volume.docker volume create app-data
28docker volume lsList Docker volumes.docker volume ls
29docker volume inspectInspect a volume.docker volume inspect app-data
30docker volume rmRemove a Docker volume.docker volume rm app-data
31docker network createCreate a Docker network.docker network create app-net
32docker network lsList Docker networks.docker network ls
33docker network inspectInspect a Docker network.docker network inspect app-net
34docker network connectConnect a container to a network.docker network connect app-net web
35docker network rmRemove a Docker network.docker network rm app-net
36docker cpCopy files between host and container.docker cp index.html web:/usr/share/nginx/html/index.html
37docker statsShow live resource usage statistics.docker stats --no-stream
38docker topDisplay running processes inside a container.docker top web
39docker inspectReturn low-level Docker object information.docker inspect web
40docker eventsMonitor Docker daemon events.docker events --since 10m
41docker compose versionShow Docker Compose version.docker compose version
42docker compose upCreate and start services from compose.yaml.docker compose up -d
43docker compose psList containers managed by Compose.docker compose ps
44docker compose logsShow service logs from Compose.docker compose logs -f
45docker compose execRun a command inside a Compose service container.docker compose exec web sh
46docker compose restartRestart Compose services.docker compose restart
47docker compose downStop and remove Compose containers and networks.docker compose down
48docker compose down -vStop Compose services and remove named volumes too.docker compose down -v
49docker compose buildBuild or rebuild Compose services.docker compose build --no-cache
50docker compose pullPull service images defined in compose.yaml.docker compose pull

🧠 Conclusion

This Docker emulator is ready. The FREE pack contains the active challenges now, while LITE, PRO, and PRO Plus are visible as upcoming expansion tiers for deeper labs, scoring, downloadable runbooks, and advanced Docker Compose scenarios.

Linux: 50 Essential Commands You Should Know

LINUX CLI LAB

Linux: 50 Essential Commands You Should Know

Linux is one of the most widely used operating systems in servers, programming, cloud, DevOps, and system administration. This guide combines a practical table with an interactive emulator to practice commands, reinforce concepts, and visualize simulated changes without touching a real server.

Learning note: the emulator output is simulated for practice, training, and onboarding. On a real system it may vary by distribution, permissions, installed packages, and configuration.

Interactive Linux CLI Emulator

Type a command, use the table, or run a guided challenge. The emulator will show simulated output, feedback and visual changes in the Linux system.

Challenge: run pwd to check the current path.
linux-runbook.md 0/10

Linux CLI

Run the next command to receive guided feedback.

Expected runbook commands pwd
Run the next command to receive guided feedback.
Run the next command to receive guided feedback.
Linux system visualizer Environment ready: no changes yet.
$ Linux emulator ready
Choose a command from the table or type one in the console.

On small screens, the table adapts into cards to avoid content cutoffs.

#CommandDescriptionExampleActions

Conclusion

These 50 Linux commands cover navigation, files, permissions, processes, networking, packages, and day-to-day operations. Practicing them in a simulated environment lets you learn safely before working on real infrastructure.

AWS CLI: 50 Most-Used Commands and Parameters

FREE activePremium look & feelResponsiveAWS CLI

AWS CLI: 50 essential commands with FREE cloud emulator

Practice AWS safely with guided challenges, textual output and a visual architecture canvas.

This lab does not create real resources. Commands are prepared for learning and use placeholders such as <VPC_ID>, <INSTANCE_ID> or <ACCOUNT_ID>.

Activa JavaScript para usar el emulador multicloud de Weisewelt.

List of 50 AWS commands to copy and execute

Use Copy to send the command to the clipboard. Use Load to try placing it in the emulator input or trigger the plugin event.

#AreaCommandWhat is it for?Canvas / outputAction
1Basicsaws --versionChecks the installed AWS CLI v2 version.Shows the CLI, version and local runtime.
2Basicsaws configure listLists the active credentials, region and profile configuration.Identifies profile, region and credential source without exposing secrets.
3Basicsaws configure get regionGets the default configured region.Places the regional context where lab resources will be simulated.
4Identityaws sts get-caller-identityValidates the active AWS identity: account, user or role.Draws the active account, ARN, profile and simulated permissions.
5Regionsaws ec2 describe-regions --all-regions --query "Regions[].RegionName" --output tableLists available EC2 regions.Shows the region selector and highlights the lab region.
6VPC Networkaws ec2 create-vpc --cidr-block 10.10.0.0/16 --tag-specifications 'ResourceType=vpc,Tags=[{Key=Name,Value=ww-aws-vpc}]'Creates the base VPC for the lab.Adds the network layer with CIDR 10.10.0.0/16.
7Tagsaws ec2 create-tags --resources <VPC_ID> --tags Key=Project,Value=Weisewelt Key=Environment,Value=FreeLabAdds project and environment tags to the VPC.Updates the visual inventory with governance metadata.
8VPC Networkaws ec2 describe-vpcs --filters "Name=tag:Name,Values=ww-aws-vpc"Queries the VPC created by name.Highlights the discovered VPC and shows a simulated VPC ID.
9Public subnetaws ec2 create-subnet --vpc-id <VPC_ID> --cidr-block 10.10.1.0/24 --availability-zone us-east-1a --tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=ww-public-a},{Key=Visibility,Value=public}]'Creates a public subnet in one Availability Zone.Draws a public zone with CIDR, AZ and pending Internet route.
10Private subnetaws ec2 create-subnet --vpc-id <VPC_ID> --cidr-block 10.10.11.0/24 --availability-zone us-east-1a --tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=ww-private-a},{Key=Visibility,Value=private}]'Creates a private subnet for databases or internal nodes.Draws a private zone without public IP or direct Internet route.
11Internet Gatewayaws ec2 create-internet-gateway --tag-specifications 'ResourceType=internet-gateway,Tags=[{Key=Name,Value=ww-igw}]'Creates an Internet Gateway for public connectivity.Adds the IGW component outside the VPC.
12Internet Gatewayaws ec2 attach-internet-gateway --internet-gateway-id <IGW_ID> --vpc-id <VPC_ID>Attaches the Internet Gateway to the VPC.Connects the VPC visually to the Internet.
13Routesaws ec2 create-route-table --vpc-id <VPC_ID> --tag-specifications 'ResourceType=route-table,Tags=[{Key=Name,Value=ww-public-rt}]'Creates a public route table.Adds a route table associated with the public zone.
14Routesaws ec2 create-route --route-table-id <ROUTE_TABLE_ID> --destination-cidr-block 0.0.0.0/0 --gateway-id <IGW_ID>Adds the default route to the Internet Gateway.Marks the public subnet route 0.0.0.0/0 through the IGW.
15Routesaws ec2 associate-route-table --subnet-id <PUBLIC_SUBNET_ID> --route-table-id <ROUTE_TABLE_ID>Associates the route table with the public subnet.Activates public connectivity for that subnet.
16Securityaws ec2 create-security-group --group-name ww-web-sg --description "Web access for Weisewelt lab" --vpc-id <VPC_ID>Creates a Security Group for web instances.Draws the logical inbound/outbound firewall.
17Securityaws ec2 authorize-security-group-ingress --group-id <SG_ID> --protocol tcp --port 22 --cidr 203.0.113.10/32Allows SSH only from a controlled example IP.Shows a restrictive administration rule.
18Securityaws ec2 authorize-security-group-ingress --group-id <SG_ID> --protocol tcp --port 80 --cidr 0.0.0.0/0Allows public HTTP traffic.Opens port 80 on the canvas with a public exposure warning.
19Securityaws ec2 authorize-security-group-ingress --group-id <SG_ID> --protocol tcp --port 443 --cidr 0.0.0.0/0Allows public HTTPS traffic.Opens port 443 and marks secure web access.
20Securityaws ec2 describe-security-groups --group-ids <SG_ID> --output tableDisplays Security Group rules.Displays inbound/outbound rules in the security inventory.
21EC2aws ec2 create-key-pair --key-name ww-key --query 'KeyMaterial' --output text > ww-key.pemCreates a key pair for EC2 access.Adds access credentials and warns about secure storage.
22EC2aws ec2 run-instances --image-id ami-0123456789abcdef0 --count 1 --instance-type t3.micro --key-name ww-key --security-group-ids <SG_ID> --subnet-id <PUBLIC_SUBNET_ID> --associate-public-ip-address --tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=ww-web-01}]'Launches one EC2 instance in the public subnet.Draws a web server with simulated private and public IPs.
23EC2aws ec2 describe-instances --filters "Name=tag:Name,Values=ww-web-01" --query "Reservations[].Instances[].{Id:InstanceId,State:State.Name,PrivateIP:PrivateIpAddress,PublicIP:PublicIpAddress}" --output tableDisplays instance status and IP addresses.Updates running/stopped state and public/private IPs.
24EC2aws ec2 describe-instance-status --instance-ids <INSTANCE_ID> --include-all-instancesChecks system and instance health.Displays health checks in the monitoring layer.
25Elastic IPaws ec2 allocate-address --domain vpcAllocates an Elastic IP for the VPC.Adds a fixed public IP to the inventory.
26Elastic IPaws ec2 associate-address --instance-id <INSTANCE_ID> --allocation-id <ALLOCATION_ID>Associates the Elastic IP to the EC2 instance.Connects the fixed public IP to the web server.
27EC2aws ec2 stop-instances --instance-ids <INSTANCE_ID>Stops an EC2 instance.Changes the visual state to stopped and preserves configuration.
28EC2aws ec2 start-instances --instance-ids <INSTANCE_ID>Starts a stopped instance.Changes the visual state to running.
29EC2aws ec2 terminate-instances --instance-ids <INSTANCE_ID>Terminates an EC2 instance.Removes the server and keeps the action history.
30EBSaws ec2 create-volume --availability-zone us-east-1a --size 20 --volume-type gp3 --tag-specifications 'ResourceType=volume,Tags=[{Key=Name,Value=ww-data-vol}]'Creates a gp3 EBS volume.Adds persistent storage in the same Availability Zone.
31EBSaws ec2 attach-volume --volume-id <VOLUME_ID> --instance-id <INSTANCE_ID> --device /dev/sdfAttaches an EBS volume to an instance.Connects persistent storage to the server.
32EBS Snapshotaws ec2 create-snapshot --volume-id <VOLUME_ID> --description "Snapshot Weisewelt Free Lab"Creates a snapshot from an EBS volume.Adds an incremental backup in the protection layer.
33S3aws s3 mb s3://ww-free-lab-<ACCOUNT_ID>-demo --region us-east-1Creates an S3 bucket for the lab.Draws an object bucket with region and unique name.
34S3aws s3 cp ./index.html s3://ww-free-lab-<ACCOUNT_ID>-demo/index.htmlCopies a local file to the bucket.Shows the uploaded object inside the bucket.
35S3aws s3 sync ./site s3://ww-free-lab-<ACCOUNT_ID>-demo --deleteSynchronizes a local folder with S3.Simulates static site deployment and incremental changes.
36S3aws s3 ls s3://ww-free-lab-<ACCOUNT_ID>-demo --recursive --human-readable --summarizeLists bucket objects with a summary.Updates object count and total size.
37S3 Versioningaws s3api put-bucket-versioning --bucket ww-free-lab-<ACCOUNT_ID>-demo --versioning-configuration Status=EnabledEnables S3 bucket versioning.Marks protection against accidental overwrites.
38IAMaws iam create-role --role-name ww-lambda-exec --assume-role-policy-document file://trust-policy.jsonCreates an IAM role for Lambda execution.Adds a service identity and trust relationship.
39IAMaws iam attach-role-policy --role-name ww-lambda-exec --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRoleAttaches the managed policy for basic Lambda logs.Updates the role's effective permissions.
40Lambdaaws lambda create-function --function-name ww-hello-free --runtime python3.12 --role arn:aws:iam::<ACCOUNT_ID>:role/ww-lambda-exec --handler app.handler --zip-file fileb://function.zipCreates a Lambda function from a ZIP package.Draws a serverless function connected to IAM and CloudWatch Logs.
41Lambdaaws lambda invoke --function-name ww-hello-free response.jsonInvokes the Lambda function and stores the response.Shows event, execution and simulated response.
42CloudWatch Logsaws logs describe-log-groups --log-group-name-prefix /aws/lambda/ww-hello-freeDisplays Lambda log groups.Opens the observability layer and traces.
43CloudWatchaws cloudwatch put-metric-alarm --alarm-name ww-cpu-high --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average --period 300 --threshold 80 --comparison-operator GreaterThanThreshold --dimensions Name=InstanceId,Value=<INSTANCE_ID> --evaluation-periods 2Creates a high CPU alarm for EC2.Adds a monitoring alert to the instance.
44RDSaws rds create-db-subnet-group --db-subnet-group-name ww-db-subnets --db-subnet-group-description "Weisewelt private DB subnets" --subnet-ids <PRIVATE_SUBNET_ID_A> <PRIVATE_SUBNET_ID_B>Creates a private subnet group for RDS.Places the database inside private networking.
45RDSaws rds create-db-instance --db-instance-identifier ww-mysql-free --db-instance-class db.t4g.micro --engine mysql --master-username admin --master-user-password <STRONG_PASSWORD> --allocated-storage 20 --db-subnet-group-name ww-db-subnets --no-publicly-accessibleCreates a private MySQL RDS instance.Draws a database without public IP and with internal access.
46EKSaws eks create-cluster --name ww-eks-free --role-arn arn:aws:iam::<ACCOUNT_ID>:role/ww-eks-cluster-role --resources-vpc-config subnetIds=<PUBLIC_SUBNET_ID>,<PRIVATE_SUBNET_ID>,securityGroupIds=<SG_ID>Creates the Amazon EKS control plane.Adds a managed Kubernetes control plane with network configuration.
47EKSaws eks describe-cluster --name ww-eks-free --query "cluster.{Name:name,Status:status,Endpoint:endpoint,Version:version}" --output tableDisplays EKS cluster status, endpoint and version.Updates the control plane state.
48EKSaws eks create-nodegroup --cluster-name ww-eks-free --nodegroup-name ww-ng-free --node-role arn:aws:iam::<ACCOUNT_ID>:role/ww-eks-node-role --subnets <PRIVATE_SUBNET_ID_A> <PRIVATE_SUBNET_ID_B> --instance-types t3.medium --scaling-config minSize=1,maxSize=3,desiredSize=1Creates a managed node group for EKS.Draws private nodes and scalable capacity.
49EKSaws eks update-kubeconfig --region us-east-1 --name ww-eks-freeUpdates local kubeconfig for cluster access.Marks administrative access from the terminal.
50CloudFormationaws cloudformation deploy --template-file template.yaml --stack-name ww-free-stack --capabilities CAPABILITY_NAMED_IAM --parameter-overrides Environment=freeDeploys infrastructure as code with CloudFormation.Groups resources into a stack and shows dependencies.
Start with identity, region and VPC before running EC2, RDS or EKS.
Replace placeholders only inside the emulator or in controlled real environments.
In real accounts, validate permissions, costs and security policies before running creation commands.