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 / Parameter Description Example Actions
1 docker version Show Docker client and server version information. docker version
2 docker info Display system-wide Docker information. docker info
3 docker login Authenticate to a container registry. docker login
4 docker logout Log out from a container registry. docker logout
5 docker search Search Docker Hub for images. docker search nginx
6 docker pull Download an image from a registry. docker pull nginx:latest
7 docker images List local images. docker images
8 docker image inspect Inspect image metadata. docker image inspect nginx:latest
9 docker image history Show the layer history of an image. docker image history nginx:latest
10 docker tag Create a new tag for an image. docker tag nginx:latest local-nginx:v1
11 docker build Build an image from a Dockerfile. docker build -t demo-app:1.0 .
12 docker build --no-cache Build an image without using cache. docker build --no-cache -t demo-app:clean .
13 docker run Create and run a container from an image. docker run hello-world
14 docker run -d Run a container in detached mode. docker run -d --name web -p 8080:80 nginx:latest
15 docker ps List running containers. docker ps
16 docker ps -a List all containers, including stopped ones. docker ps -a
17 docker logs Show container logs. docker logs web
18 docker logs -f Follow container logs in real time. docker logs -f web
19 docker exec Run a command inside a running container. docker exec -it web sh
20 docker stop Stop a running container. docker stop web
21 docker start Start a stopped container. docker start web
22 docker restart Restart a container. docker restart web
23 docker rm Remove a stopped container. docker rm web
24 docker rmi Remove a local image. docker rmi local-nginx:v1
25 docker container prune Remove stopped containers. docker container prune -f
26 docker image prune -a Remove unused images. docker image prune -a -f
27 docker volume create Create a named volume. docker volume create app-data
28 docker volume ls List Docker volumes. docker volume ls
29 docker volume inspect Inspect a volume. docker volume inspect app-data
30 docker volume rm Remove a Docker volume. docker volume rm app-data
31 docker network create Create a Docker network. docker network create app-net
32 docker network ls List Docker networks. docker network ls
33 docker network inspect Inspect a Docker network. docker network inspect app-net
34 docker network connect Connect a container to a network. docker network connect app-net web
35 docker network rm Remove a Docker network. docker network rm app-net
36 docker cp Copy files between host and container. docker cp index.html web:/usr/share/nginx/html/index.html
37 docker stats Show live resource usage statistics. docker stats --no-stream
38 docker top Display running processes inside a container. docker top web
39 docker inspect Return low-level Docker object information. docker inspect web
40 docker events Monitor Docker daemon events. docker events --since 10m
41 docker compose version Show Docker Compose version. docker compose version
42 docker compose up Create and start services from compose.yaml. docker compose up -d
43 docker compose ps List containers managed by Compose. docker compose ps
44 docker compose logs Show service logs from Compose. docker compose logs -f
45 docker compose exec Run a command inside a Compose service container. docker compose exec web sh
46 docker compose restart Restart Compose services. docker compose restart
47 docker compose down Stop and remove Compose containers and networks. docker compose down
48 docker compose down -v Stop Compose services and remove named volumes too. docker compose down -v
49 docker compose build Build or rebuild Compose services. docker compose build --no-cache
50 docker compose pull Pull 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.

# Command Description Example Actions

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>.

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.

# Area Command What is it for? Canvas / output Action
1 Basics aws --version Checks the installed AWS CLI v2 version. Shows the CLI, version and local runtime.
2 Basics aws configure list Lists the active credentials, region and profile configuration. Identifies profile, region and credential source without exposing secrets.
3 Basics aws configure get region Gets the default configured region. Places the regional context where lab resources will be simulated.
4 Identity aws sts get-caller-identity Validates the active AWS identity: account, user or role. Draws the active account, ARN, profile and simulated permissions.
5 Regions aws ec2 describe-regions --all-regions --query "Regions[].RegionName" --output table Lists available EC2 regions. Shows the region selector and highlights the lab region.
6 VPC Network aws 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.
7 Tags aws ec2 create-tags --resources <VPC_ID> --tags Key=Project,Value=Weisewelt Key=Environment,Value=FreeLab Adds project and environment tags to the VPC. Updates the visual inventory with governance metadata.
8 VPC Network aws 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.
9 Public subnet aws 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.
10 Private subnet aws 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.
11 Internet Gateway aws 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.
12 Internet Gateway aws 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.
13 Routes aws 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.
14 Routes aws 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.
15 Routes aws 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.
16 Security aws 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.
17 Security aws ec2 authorize-security-group-ingress --group-id <SG_ID> --protocol tcp --port 22 --cidr 203.0.113.10/32 Allows SSH only from a controlled example IP. Shows a restrictive administration rule.
18 Security aws ec2 authorize-security-group-ingress --group-id <SG_ID> --protocol tcp --port 80 --cidr 0.0.0.0/0 Allows public HTTP traffic. Opens port 80 on the canvas with a public exposure warning.
19 Security aws ec2 authorize-security-group-ingress --group-id <SG_ID> --protocol tcp --port 443 --cidr 0.0.0.0/0 Allows public HTTPS traffic. Opens port 443 and marks secure web access.
20 Security aws ec2 describe-security-groups --group-ids <SG_ID> --output table Displays Security Group rules. Displays inbound/outbound rules in the security inventory.
21 EC2 aws ec2 create-key-pair --key-name ww-key --query 'KeyMaterial' --output text > ww-key.pem Creates a key pair for EC2 access. Adds access credentials and warns about secure storage.
22 EC2 aws 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.
23 EC2 aws ec2 describe-instances --filters "Name=tag:Name,Values=ww-web-01" --query "Reservations[].Instances[].{Id:InstanceId,State:State.Name,PrivateIP:PrivateIpAddress,PublicIP:PublicIpAddress}" --output table Displays instance status and IP addresses. Updates running/stopped state and public/private IPs.
24 EC2 aws ec2 describe-instance-status --instance-ids <INSTANCE_ID> --include-all-instances Checks system and instance health. Displays health checks in the monitoring layer.
25 Elastic IP aws ec2 allocate-address --domain vpc Allocates an Elastic IP for the VPC. Adds a fixed public IP to the inventory.
26 Elastic IP aws 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.
27 EC2 aws ec2 stop-instances --instance-ids <INSTANCE_ID> Stops an EC2 instance. Changes the visual state to stopped and preserves configuration.
28 EC2 aws ec2 start-instances --instance-ids <INSTANCE_ID> Starts a stopped instance. Changes the visual state to running.
29 EC2 aws ec2 terminate-instances --instance-ids <INSTANCE_ID> Terminates an EC2 instance. Removes the server and keeps the action history.
30 EBS aws 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.
31 EBS aws ec2 attach-volume --volume-id <VOLUME_ID> --instance-id <INSTANCE_ID> --device /dev/sdf Attaches an EBS volume to an instance. Connects persistent storage to the server.
32 EBS Snapshot aws 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.
33 S3 aws s3 mb s3://ww-free-lab-<ACCOUNT_ID>-demo --region us-east-1 Creates an S3 bucket for the lab. Draws an object bucket with region and unique name.
34 S3 aws s3 cp ./index.html s3://ww-free-lab-<ACCOUNT_ID>-demo/index.html Copies a local file to the bucket. Shows the uploaded object inside the bucket.
35 S3 aws s3 sync ./site s3://ww-free-lab-<ACCOUNT_ID>-demo --delete Synchronizes a local folder with S3. Simulates static site deployment and incremental changes.
36 S3 aws s3 ls s3://ww-free-lab-<ACCOUNT_ID>-demo --recursive --human-readable --summarize Lists bucket objects with a summary. Updates object count and total size.
37 S3 Versioning aws s3api put-bucket-versioning --bucket ww-free-lab-<ACCOUNT_ID>-demo --versioning-configuration Status=Enabled Enables S3 bucket versioning. Marks protection against accidental overwrites.
38 IAM aws iam create-role --role-name ww-lambda-exec --assume-role-policy-document file://trust-policy.json Creates an IAM role for Lambda execution. Adds a service identity and trust relationship.
39 IAM aws iam attach-role-policy --role-name ww-lambda-exec --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole Attaches the managed policy for basic Lambda logs. Updates the role's effective permissions.
40 Lambda aws 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.zip Creates a Lambda function from a ZIP package. Draws a serverless function connected to IAM and CloudWatch Logs.
41 Lambda aws lambda invoke --function-name ww-hello-free response.json Invokes the Lambda function and stores the response. Shows event, execution and simulated response.
42 CloudWatch Logs aws logs describe-log-groups --log-group-name-prefix /aws/lambda/ww-hello-free Displays Lambda log groups. Opens the observability layer and traces.
43 CloudWatch aws 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 2 Creates a high CPU alarm for EC2. Adds a monitoring alert to the instance.
44 RDS aws 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.
45 RDS aws 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-accessible Creates a private MySQL RDS instance. Draws a database without public IP and with internal access.
46 EKS aws 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.
47 EKS aws eks describe-cluster --name ww-eks-free --query "cluster.{Name:name,Status:status,Endpoint:endpoint,Version:version}" --output table Displays EKS cluster status, endpoint and version. Updates the control plane state.
48 EKS aws 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=1 Creates a managed node group for EKS. Draws private nodes and scalable capacity.
49 EKS aws eks update-kubeconfig --region us-east-1 --name ww-eks-free Updates local kubeconfig for cluster access. Marks administrative access from the terminal.
50 CloudFormation aws cloudformation deploy --template-file template.yaml --stack-name ww-free-stack --capabilities CAPABILITY_NAMED_IAM --parameter-overrides Environment=free Deploys 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.