Skip to content

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

kvdb-surf
Copy link

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

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
```
Comment on lines +94 to +99
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'
```
Copy link
Contributor

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" ?

Copy link
Author

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.

Copy link
Contributor

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants