this post was submitted on 31 Mar 2024
19 points (100.0% liked)

Selfhosted

45542 readers
1146 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

all the containers change IP addresses frequently. For home assistant a static IP address of the proxy manager is mandatory in order to reach it. For jellyfin it is useful to see which device accesses jellyfin. If the IP always changes, it doesn't work properly.

How do I fix a container IP with podman compose (or docker)

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 3 points 1 year ago (3 children)

A container does not have an IP, only a network card has an IP. Containers normally use a specific port which normally is not changing like 8080 or 8123, etc. I think you misunderstood something with your setup.

[–] [email protected] 7 points 1 year ago* (last edited 1 year ago) (1 children)

The containers all have IPs unless you use the "host" network type, in which case it just stays in the host namespace, or "none" which ends up with an empty network namespace. And the IPs can indeed change. This is also why multiple containers can bind to the same port without colliding with eachother.

Docker kind of hides it from you because when you use -p to publish a port, it sets up a proxy process for you to pass traffic from the port on the host to the port on the container.

You usually have a docker0 bridge with an IP like 172.16.0.1, and if you run ip a in a container it'll have a single interface with an IP of 172.16.0.2.

https://docs.docker.com/network/

[–] [email protected] 3 points 1 year ago

Those are just the basic ones too, when macvlan, macvtap, ipvlan gets involved it gets even crazier. You can directly attach containers to the network such that your router assigns it an IP via DHCP like it's just another device plugged on your network.

You can also share a network namespace with multiple containers, usually kubernetes/podman pods to enable for sidecar containers like Filebeat, Consul, Envoy, etcd and so on.

If you use rootless containers, it'll use slirp4netns to emulate the network entirely in userspace.

In the cloud you usually end up with your pods directly attached to your VPC as well, like AWS Fargate serverless offerings.

[–] [email protected] 2 points 1 year ago

Inside the virtual docker network they do have temporary IPs and hostnames. But it is pointless to reference these IPs, just use the hostnames which should be identical to the container name.

[–] [email protected] 2 points 1 year ago (1 children)
[–] [email protected] 5 points 1 year ago

Nah. Your question was fine. The person who responded to you was just wrong. Hopefully you've seen the other replies to their comment.