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 🇮🇩