User Tools

Site Tools


add-container

This is an old revision of the document!


Adding a container

Create SCSI disk

  1. Log into vm.garynet.org
  2. Datacenter > vm > as.garynet.org > Hardware
  3. Add > Hard Disk
    • Bus/Device: SCSI
    • Storage: pool0
    • Disk size: Depends on use
  4. Click Add

Partition new disk

  1. Make mnt point directory with: mkdir /mnt/docker/<container>
  2. Find disk with fdisk -l
  3. Partition disk with cfdisk <disk>
    1. Select type gpt
    2. New and set max size
    3. Select write and type yes
    4. Quit
  4. Format partition with mkfs.ext4 /dev/<disk>1
  5. Find UUID with blkid
  6. Add disk to fstab with vim /etc/fstab:
    • UUID=<uuid> /mnt/docker/<container> auto rw,user,auto 0 0
  7. Verify no errors with findmnt –verify
  8. Reload systemd daemon with systemctl daemon-reload
  9. Mount disk with mount -a

Setup compose file

  1. Make folder to contain docker compose files
  2. Add docker compose file to /mnt/docker-compose-files/<container>
    • This can be created manually or downloaded from a project page online.
  3. Add following entries to docker-compose.yml:

Inside service section

Required for posterity.

  • container_name: container_name-domain-tld
    

This will restart your container on a server reboot.

  • restart: unless-stopped
    

Make sure you set any volumes that your container requires to the disk you created earlier!

  • volumes:
      - /mnt/docker/example/data:/example_data
      - /mnt/docker/example/db:/example_db
    

Required to reach your container via DNS and will enable TLS.

  • labels:
      - traefik.enable=true
      - traefik.http.routers.container_name-domain-tld.rule=Host(`<subdomain>.domain.tld`)
      - traefik.http.services.container_name-domain-tld.loadbalancer.server.port=<port>
      - traefik.http.routers.container_name-domain-tld.entrypoints=websecure
      - traefik.http.routers.container_name-domain-tld.tls.certresolver=domain-tld-certresolver
    

Required for traefik to route to your container.

  • networks:
      - container_name-domain-tld_net
      - proxy_net
    

Outside the service section

Required for docker to create networks.

  • networks:
      container_name-domain-tld_net:
        name: container_name-domain-tld_net
      proxy_net:
        name: proxy_net
        external: true
    
add-container.1748221159.txt.gz · Last modified: by lucasrufkahr

Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki