Table of Contents
Docker - Portainer - Create Container
Log into Portainer
Navigate to 127.0.0.1:9000.
Select the Local Docker
Add Container
Create Container
- Name: PiHole.
- image: pihole/pihole:latest.
- Publish all exposed network ports to random host ports: Disabled. Do not publish all exposed ports. Manually do it:
- 53:53/tcp.
- 53:53/udp.
- 67:67/udp.
- 80:80/tcp
- 443:443/tcp
Map some volumes
In Advanced container settings:
- Click on the Volumes tab.
- Click map additional volume.
- Container:
- /etc/dnsmasq.d.
- Bind.
- Host:
- /home/peter/pihole/dnsmasq.d.
- Bind.
- Click map additional volume.
- Container:
- /etc/pihole.
- Bind.
- Host:
- /home/peter/pihole/pihole.
- Bind.
NOTE: Bind mounts are used rather than standard volumes since that allows the location to the folder to be mapped instead of creating a volume in the Docker volumes folder.
The /home/peter/pihole/ directory will be automatically created.
Set up the network
This also sets the DNS the image should use.
In Advanced container settings:
- Click on the Network tab.
- Network: bridge.
- Hostname: pihole.
- Primary DNS Server: 127.0.0.1.
- Secondary DNS Server: 192.168.1.1.
NOTE: As of version 4.1.1 of Pi-Hole, the DNS server for the Docker container itself, localhost (127.0.0.1), must be set as the primary DNS server.
The secondary DNS server can be any other DNS server you prefer.
Set the Environment
Ensures that Pi-hole starts automatically.
In Advanced container settings:
- Click on the Env tab.
- Click Add environment variable.
- Name: TZ
- Value: Europe/Jersey.
- Click Add environment variable.
- Name: DNS1
- Value: 192.168.1.1.
- Click Add environment variable.
- Name: DNS2
- Value: 1.1.1.1.
- Click Add environment variable.
- Name: WEBPASSWORD
- Value: Password to use with Pi-Hole.
NOTE: Pi-hole will default to Google DNS Servers of 8.8.8.8 and 8.8.4.4 if the DNS1 or DNS2 environment variables are not set.
If only 1 upstream DNS server is wanted, put no as the value for the DNS2 variable, otherwise it will default to Google secondary DNS server 8.8.4.4.
It is recommended to have two upstream DNS servers in case one goes down.
Set the Restart Policy
Ensures that Pi-hole starts automatically.
In Advanced container settings:
- Click on the Restart Policy tab.
- Click Unless Stopped.
Deploy the Container
Click Deploy the Container.