1. Set up Docker Network

docker network create proxynet

2. Setup Docker Path

  • /docker: Docker Relevant Data
  • /docker/portainer: Portainer Data
  • /mnt/data/docker: Docker Container Application Data
mkdir -p mnt/data/docker
mkdir -p /docker/portainer
touch /docker/portainer/docker-compose.yml

3.1 Portainer Docker Compose (using Path Bindings)

cd /docker/portainer
nano docker-compose.yml

Insert the Following Content:

version: "3.8"
name: "portainer"


services:
  portainer:
    image: portainer/portainer-ce
    container_name: portainer
    restart: always
    ports:
      - 9000:9000   # HTTP Port
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /mnt/data/docker/portainer/portainer/data:/data


networks:
  default:
    external: true
    name: proxynet
docker compose up -d

3.2 (Alternative) Portainer Docker Compose (using Docker Volumes)

cd /docker/portainer
nano docker-compose.yml

Insert the Following Content:

version: "3.8"
name: "portainer"

services:
  portainer:
    image: portainer/portainer-ce:latest
    container_name: portainer
    restart: always
    ports:
      - 9000:9000 # Web UI Port
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer_data:/data

networks:
  default:
    external: true
    name: proxynet

volumes:
  portainer_data:
docker compose up -d

4. Portainer Setup

  • go to http://<server-ip>:9000
  • Create Admin Account
    • Any Username
    • Password min 12 characters
  • Have Fun