Commands
3 min
Docker Commands for QE
Essential Docker commands for managing test environments
...
dockercontainerstestingdevops
Essential Docker Commands for Testers
1. Container Management
# List running containers
docker ps
# List all containers (including stopped)
docker ps -a
# Start a container
docker start selenium-hub
# Stop a container
docker stop selenium-hub
# Restart a container
docker restart selenium-hub
# Remove a container
docker rm selenium-hub
# Force remove running container
docker rm -f selenium-hub2. Running Test Containers
# Run Selenium standalone Chrome
docker run -d -p 4444:4444 --name selenium \
selenium/standalone-chrome:latest
# Run with volume mount for test results
docker run -v $(pwd)/results:/test-results \
--name test-runner my-test-image
# Run with environment variables
docker run -e BASE_URL=https://staging.example.com \
-e API_KEY=test123 \
--name api-tests my-api-test-image
# Run in interactive mode
docker run -it --rm my-test-image /bin/bash3. Image Management
# List images
docker images
# Pull an image
docker pull selenium/standalone-firefox:latest
# Build an image from Dockerfile
docker build -t my-test-image:v1.0 .
# Tag an image
docker tag my-test-image:v1.0 my-test-image:latest
# Remove an image
docker rmi my-test-image:v1.0
# Remove unused images
docker image prune -a4. Logs and Debugging
# View container logs
docker logs selenium-hub
# Follow logs in real-time
docker logs -f selenium-hub
# View last 100 lines
docker logs --tail 100 selenium-hub
# Execute command in running container
docker exec -it selenium-hub /bin/bash
# Inspect container details
docker inspect selenium-hub
# View container resource usage
docker stats5. Docker Compose for Test Environments
# Start all services
docker-compose up -d
# View logs from all services
docker-compose logs -f
# Stop all services
docker-compose down
# Rebuild and start
docker-compose up -d --build
# Scale a service
docker-compose up -d --scale chrome=3
# Run one-off command
docker-compose run test-runner npm testSample docker-compose.yml for Testing
version: '3.8'
services:
selenium-hub:
image: selenium/hub:latest
ports:
- "4444:4444"
chrome:
image: selenium/node-chrome:latest
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
firefox:
image: selenium/node-firefox:latest
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
app-under-test:
image: my-app:latest
ports:
- "8080:8080"
environment:
- NODE_ENV=testQuick Reference
Cleanup Commands
# Remove all stopped containers
docker container prune
# Remove all unused images
docker image prune -a
# Remove all unused volumes
docker volume prune
# Remove everything unused
docker system prune -a --volumes
# Free up space (safe)
docker system pruneNetwork Commands
# List networks
docker network ls
# Create network
docker network create test-network
# Connect container to network
docker network connect test-network selenium-hub
# Inspect network
docker network inspect test-networkKey Takeaways
- Use
docker-composefor multi-container test setups - Always name containers (
--name) for easier management - Use
-dflag to run containers in detached mode - Mount volumes to preserve test results and artifacts
- Clean up regularly to save disk space
- Use
docker logsfor debugging test failures
Comments (0)
Loading comments...