I find Docker a mixed bag, it vastly simplifies some things, but then it complicates others.
Yes the bit that gets me is having the whole Docker networking layer with its own firewalls and rules, on top of host networking. Whatever was happening, Lemmy was not hitting the host or router firewalls at all. So maybe it was a Docker permissions thing, I really don’t know.
Then you have to worry about performance and how Docker handles assigned resources, this post was very interesting in this respect: https://lemmy.world/post/920294 (the bit on solutions).
Then again, it’s so much more straightforward to deploy Lemmy with Docker, none of this is a real problem unless you’re a big/public instance.
I suspect that’s less a Docker issue, and more to do with the code itself. Any code that’s synchonous or serial in nature (eg. including a lot of web-calls to remote resources like federated sites) is going to max out due to IO or network latency long before saturating CPU, and becomes a natural target for horizontal scaling.
I’d be surprised if that’s a pure Docker thing vs just Lemmy code in general. But, I don’t have sufficient hardware to test on to prove that out.
I find Docker a mixed bag, it vastly simplifies some things, but then it complicates others.
Yes the bit that gets me is having the whole Docker networking layer with its own firewalls and rules, on top of host networking. Whatever was happening, Lemmy was not hitting the host or router firewalls at all. So maybe it was a Docker permissions thing, I really don’t know.
Then you have to worry about performance and how Docker handles assigned resources, this post was very interesting in this respect: https://lemmy.world/post/920294 (the bit on solutions).
Then again, it’s so much more straightforward to deploy Lemmy with Docker, none of this is a real problem unless you’re a big/public instance.
I suspect that’s less a Docker issue, and more to do with the code itself. Any code that’s synchonous or serial in nature (eg. including a lot of web-calls to remote resources like federated sites) is going to max out due to IO or network latency long before saturating CPU, and becomes a natural target for horizontal scaling.
I’d be surprised if that’s a pure Docker thing vs just Lemmy code in general. But, I don’t have sufficient hardware to test on to prove that out.
That makes sense, I think you may be on the money there.