-
Notifications
You must be signed in to change notification settings - Fork 21
Verify all ports are free #983
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Found out I had some in use ports, this might be helpful to others starting out as well. Extracted the needed ports from docker-compose.yml using: ``` yq -r '.services[]?.ports[]? // empty' docker-compose.yml | \ grep ':' | \ sed -E 's/^"?([0-9]+):[0-9]+.*"?$/\1/' | \ sort -n | uniq ```
The environment requires several ports to be free. | ||
Use `ss` to check if any are in use—no output means they're available: | ||
|
||
``` | ||
ss -tulnp|grep -E ':80|:3000|:4000|:5432|:5678|:8000|:8001|:8080' | ||
``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is ss
? It doesn't seem to be a default tool on macos, ubuntu or alpine.
It is a good idea to inform people to check that the ports are free, but the actual numbers written out here are bound to go stale over time. What do you think about rephrasing this to something along the lines off "Make sure you aren't running any software on the ports required by docker-compose.yml" ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ss
is one of the tools in https://en.wikipedia.org/wiki/Iproute2. I reasoned that's a pretty standard tool. I couldn't find something similar that's available on both macos and ubuntu. Anything older you'd prefer, like netstat or lsof maybe?
I thought about including the script mentioned in the commit message, but for an onboarding tutorial, a bit too verbose, although then always current.
I'll apply your rephrase if we can settle on a tool.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, didn't know netstat was considered legacy :) I typically use netstat on OSX, but fine to keep ss in this text, maybe with a link to that iproute2 page
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Mark90 @kvdb-surf What should we do with this PR?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps my 2 suggestions make it work for all
Use `ss` to check if any are in use—no output means they're available: | ||
|
||
``` | ||
ss -tulnp|grep -E ':80|:3000|:4000|:5432|:5678|:8000|:8001|:8080' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ss -tulnp|grep -E ':80|:3000|:4000|:5432|:5678|:8000|:8001|:8080' | |
netstat -tulnp | grep -E ':80|:3000|:4000|:5432|:5678|:8000|:8001|:8080' | |
ss -tulnp|grep -E ':80|:3000|:4000|:5432|:5678|:8000|:8001|:8080' |
### Local environment | ||
|
||
The environment requires several ports to be free. | ||
Use `ss` to check if any are in use—no output means they're available: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use `ss` to check if any are in use—no output means they're available: | |
Use either command below to check if any are in use. No output means they're available: |
Found out I had some in use ports, this might be helpful to others starting out as well.
Extracted the needed ports from docker-compose.yml using: