Skip to content

๐Ÿณ HashiCorp Vault โ€“ Docker Compose (Learning Setup)

This setup is:

  • โœ… Simple
  • โœ… Auto-unsealed
  • โœ… Best for learning & testing
  • โŒ Not for production

๐Ÿ“ Directory Structure

vault-docker/
โ””โ”€โ”€ docker-compose.yml

๐Ÿงพ docker-compose.yml

version: "3.8"

services:
  vault:
    image: hashicorp/vault:1.15
    container_name: vault
    ports:
      - "8200:8200"
    environment:
      VAULT_DEV_ROOT_TOKEN_ID: root
      VAULT_DEV_LISTEN_ADDRESS: "0.0.0.0:8200"
    cap_add:
      - IPC_LOCK
    command: vault server -dev

โ–ถ๏ธ Start Vault

docker compose up -d

Verify:

docker ps

๐ŸŒ Access Vault

UI

http://localhost:8200

Login Token

root

๐Ÿงช Test Vault is Running

docker exec -it vault sh

Inside container:

export VAULT_ADDR=http://127.0.0.1:8200
export VAULT_TOKEN=root

vault status

Expected:

Sealed: false
Initialized: true

โš ๏ธ Important Notes

  • Secrets are NOT persistent (lost on restart)
  • Vault is auto-unsealed
  • Root token is hardcoded (learning only)