I’m working right now to setup a Docksal site for a project I’m auditing. But, of course, I haven’t used Docksal in ages (and I got some fun errors getting it to work). I wanted to document the problem and the fix just in case you run into the same issue!
What is Docksal?
Docksal is a tool for defining and managing development environments. It uses Docker to create fully containerized environments, along with VirtualBox to support macOS and Windows. Its main feature is the inclusion of a command-line tool called `fin` that simplifies the management of all components
The Issue
While running fin init / fin start I’m seeing errors like:
Configuring NFS shares...
NFS shares are already configured
Resetting Docksal system services...
* proxy
docker: Error response from daemon: Ports are not available: listen tcp 0.0.0.0:80: bind: address already in use.
ERROR: Failed starting the proxy service.
I did some Googling for this and did come across some other posts on this (like this one) but based on the comment history and discussion, it should have been resolved a year ago.
One of the suggested commands to run was:
sudo lsof -n -P -i :80 | grep LISTEN
The result of this shows me that I do have a couple of things running on TCP port 80. Note that I did ensure that my Lando, Drupal VM, etc. containers weren’t running (and I still had this problem).
sudo lsof -n -P -i :80 | grep LISTEN
httpd 159 root 4u IPv6 0xa9cebe760269207b 0t0 TCP *:80 (LISTEN)
httpd 382 _www 4u IPv6 0xa9cebe760269207b 0t0 TCP *:80 (LISTEN)
The Fix
Thanks to my colleague Beverly, I realized that Apache was running on my Mac by default and taking up port 80 with the httpd service. All I had to do was stop that with:
sudo apachectl stop
Re-running the sudo lsof command came back with nothing (so that fixed it). From there, I could run fin start or fin init without errors.
I just got a new work Laptop about a week ago. This post is about my experience during this first week using the new computer!