this post was submitted on 28 Sep 2024
6 points (100.0% liked)

Container platforms (docker, lxc, podman)

313 readers
1 users here now

A place to discuss everything related to Container platforms and runtimes. Docker, LXC, Podman, OpenShift, OCI, and more.

founded 1 year ago
MODERATORS
 

Hello,

I have two Podman containers. One container that contains Linkstack and another container for the Nginx Proxy Manager. Now I want the Nginx Proxy Manager to retrieve the website from the Linkstack container. Unfortunately this does not work.

I integrate the two containers in a network. I realize this with podman-compose.

First, I created the network with "podman network create n_webservice".

Compose.yaml

services: NGINXPM: networks: - n_webservice container_name: NGINXPM volumes: - /home/fan/pod_volume/npm/data/:/data/ - /home/fan/pod_volume/npm/letsencrypt/:/etc/letsencrypt ports: - 8080:80 - 4433:443 - 9446:81 image: docker.io/jc21/nginx-proxy-manager:latest linkstack: networks: - n_webservice container_name: linkstack ports: - 4430:80 image: docker.io/linkstackorg/linkstack networks: n_webservice: external: n_webservice

I have tried everything possible in the Nginx Proxy Manager with the entry, but unfortunately I can't get any further. The destinations http://linkstack:4430 and http://127.0.0.1:4430 are not working.

Can someone please help me how I can access the linkstack container from the NGINXPM container?

you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 2 points 1 month ago* (last edited 1 month ago) (1 children)

To do some further testing, I added a mariadb container to the pod, added mycli to the alpine container, and was able to connect to the mariadb database from the alpine container.

podman run -dt --pod testpod --restart unless-stopped --name testdb --env MARIADB_ROOT_PASSWORD=a_secret_pass \
--volume:/fake/path/databases:z docker.io/library/mariadb:11.2

This command is all one-line, but I added a line break for readability. I used MariaDB 11.2 because that's what I had on-hand from another project. Note the ":z" in the volume -- this is due to SELinux needing to give podman access to that directory.

podman exec -it alpine apk add mycli

podman exec -it alpine mycli -u root -p a_secret_pass

This connects to the database successfully and, as you can see, looks as if the database is running right within Alpine; however, the database is not accessible outside of the pod.

It's also worth noting that I had some trouble initially accessing a webapp from outside of my VM which was hosting the container. This was due to firewalld blocking the connection. Since I'm using AlmaLinux with SELinux, I had to add a firewalld rule to allow traffic on port 8080.

edit: 1) a capital was missed | 2) added info about firewalld

[โ€“] [email protected] 1 points 1 month ago* (last edited 1 month ago)

Thank you. What can I do, if some containers use the same port? For example more than one nginx container in one pod?

Pod (NginX Proxy Manager :8080, Nginx1 :80, Nginx2 :80, Nginx3 :80)