Skip to content

Container Management - Docker ​

Vapor provides full Docker container management capabilities through an intuitive web interface. This guide covers Docker-specific features and operations.

Prerequisites ​

  • Docker daemon must be installed and running on the system
  • User must have appropriate permissions to access Docker socket
  1. From the main menu, click on Docker
  2. The Docker dashboard opens with four main tabs:
    • Containers
    • Images
    • Networks
    • Volumes

Containers ​

The Containers tab displays all Docker containers on the system.

Container List View ​

Each container shows:

  • Container name and ID
  • Image used
  • Status (Running, Stopped, Paused, etc.)
  • Created time
  • Ports mapping
  • Resource usage (CPU, Memory)

Managing Containers ​

Starting/Stopping Containers ​

  • Click the Start button to start a stopped container
  • Click the Stop button to gracefully stop a running container
  • Click the Restart button to restart a container

Creating a New Container ​

  1. Click the Create Container button
  2. In the drawer that opens:
    • Image: Select or enter the image name
    • Name: Provide a container name (optional)
    • Command: Override the default command (optional)
    • Environment Variables: Add key-value pairs
    • Ports: Map container ports to host ports
    • Volumes: Mount host directories or volumes
    • Networks: Select networks to connect
    • Restart Policy: Set restart behavior
  3. Click Create to launch the container

Container Actions ​

Click the three-dot menu for additional actions:

  • Logs: View container logs in real-time
  • Exec: Open a terminal session inside the container
  • Inspect: View detailed container configuration
  • Stats: Monitor real-time resource usage
  • Pause/Unpause: Temporarily suspend container execution
  • Remove: Delete the container (must be stopped first)

Container Details ​

Click on a container row to open the details drawer:

Overview Tab ​

  • Container ID and name
  • Image information
  • Status and health check
  • Created and started times
  • Command and entrypoint
  • Working directory

Logs Tab ​

  • Real-time log streaming
  • Filter by timestamp
  • Search within logs
  • Download logs

Terminal Tab ​

  • Interactive shell access
  • Multiple shell options (bash, sh)
  • Full terminal emulation

Stats Tab ​

  • CPU usage graph
  • Memory usage graph
  • Network I/O
  • Disk I/O

Inspect Tab ​

  • Full JSON configuration
  • Environment variables
  • Mounts and volumes
  • Network settings

Images ​

The Images tab manages Docker images.

Image List ​

Shows all available images with:

  • Repository and tag
  • Image ID
  • Size
  • Created date
  • Number of containers using the image

Image Operations ​

Pulling Images ​

  1. Click Pull Image
  2. Enter the image name (e.g., nginx:latest)
  3. Optional: Configure registry authentication
  4. Click Pull to download

Building Images ​

  1. Click Build Image
  2. Upload or paste Dockerfile content
  3. Set build context (if needed)
  4. Configure build arguments
  5. Click Build

Image Actions ​

  • Run: Create and start a container from the image
  • Tag: Add additional tags to the image
  • Push: Upload image to a registry
  • Remove: Delete the image (no containers must be using it)
  • Inspect: View image layers and configuration
  • History: See image build history

Networks ​

The Networks tab manages Docker networks.

Network Types ​

  • bridge: Default network for containers
  • host: Use host networking directly
  • none: No networking
  • overlay: Multi-host networking (Swarm mode)
  • macvlan: Assign MAC addresses to containers

Creating a Network ​

  1. Click Create Network
  2. Configure:
    • Name: Network identifier
    • Driver: Select network type
    • Subnet: IP range (e.g., 172.20.0.0/16)
    • Gateway: Gateway IP address
    • Options: Driver-specific options
  3. Click Create

Network Management ​

  • Connect: Attach containers to the network
  • Disconnect: Remove containers from the network
  • Inspect: View network configuration and connected containers
  • Remove: Delete the network (must have no connected containers)

Volumes ​

The Volumes tab manages Docker volumes for persistent data.

Creating a Volume ​

  1. Click Create Volume
  2. Enter:
    • Name: Volume identifier
    • Driver: Volume driver (default: local)
    • Options: Driver-specific options
  3. Click Create

Volume Operations ​

  • Inspect: View volume details and mount point
  • Browse: Explore volume contents (if supported)
  • Remove: Delete the volume (must not be in use)

Using Volumes ​

Volumes can be mounted to containers during creation:

  • Named volumes: volume-name:/container/path
  • Bind mounts: /host/path:/container/path
  • Anonymous volumes: /container/path

Docker Compose ​

Managing Compose Projects ​

  1. Navigate to Docker > Compose
  2. View running compose projects
  3. Upload docker-compose.yml files
  4. Start/stop entire stacks

Best Practices ​

  1. Resource Limits: Set memory and CPU limits for containers
  2. Health Checks: Configure health checks for critical services
  3. Logging: Use appropriate log drivers for production
  4. Volumes: Use volumes for persistent data, not bind mounts in production
  5. Networks: Create custom networks for multi-container applications
  6. Security: Don't run containers as root unless necessary
  7. Cleanup: Regularly prune unused images, containers, and volumes

Troubleshooting ​

Container Won't Start ​

  • Check logs for error messages
  • Verify image exists and is not corrupted
  • Ensure required ports are not already in use
  • Check resource constraints

Network Connectivity Issues ​

  • Verify containers are on the same network
  • Check firewall rules
  • Inspect network configuration
  • Test DNS resolution inside containers

Volume Mount Problems ​

  • Verify host path exists and has correct permissions
  • Check SELinux context (on systems with SELinux)
  • Ensure volume driver is properly configured

Performance Issues ​

  • Monitor resource usage with stats
  • Check for resource limits
  • Review log verbosity
  • Consider using volume mounts instead of bind mounts

Dibuat dengan semangat gotong royong demi kemajuan bangsa 🇮🇩