I am very new to using docker. I have been used to using dedicated VM’s and hosting the applications within the servers OS.
When hosting multiple applications/services that require the same port, is it best practice to spin up a whole new docker server or how should I go about the conflicts?
Ie. Hosting multiple web applications that utilize 443.
Thank you!
Caddy would have the bridge proxy network and the port 443 exposed.
version: "3.7" networks: proxy-network: external: true # needs to be created manually bevor running (docker create network proxy-network) services: caddy: image: caddy container_name: caddy restart: unless-stopped ports: - 80:80 - 443:443 volumes: - ./data:/data - ./config:/config - ./Caddyfile:/etc/caddy/Caddyfile:ro networks: - proxy-network
Other services:
version: "3.7" networks: proxy-network: external: true services: app: image: app container_name: app restart: unless-stopped volumes: - ./app-data:/data networks: - proxy-network
Caddy can now talk to the app with the apps container_name.
Caddyfile:
homepage.domain.de { reverse_proxy app:80 }
So the reverse proxy network is an extra network only for containers that need to be exposed.