Call Us: +1-888-227-1645

Resolving “Bind: Address Already in Use” When Starting a Docker Instance

It’s a sunny day and you are starting your docker container when you get this message: “Cannot start container … bind: address already in use” … hmm, now what? Sometimes, when trying to start your docker instance, it’s possible to be stunted by another process using the same port. However, there are a few options you have in this situation. The ones I have tried and use when needed are listed here:

Option 1

To quickly move forward with successfully starting your container, you could just kill whatever is using the port. I usually do that but first check what is using the port, and, if it is non-essential at this time, kill it.

  • In console type:

    • sudo lsof -i tcp:8080

    • You’ll see a prompt for your device password. Type it in and press enter.

    • Replace 8080 with whichever port you want. A list of currently running processes will be displayed for you (f.1).It will contain information about each process’s PID, which you will need next. Look at the PID of the process (highlighted in red). You need it to issue a kill command next.

Image #1 Resolving Bind: Address blog

  • Find the process that is obstructing your desired port, and ensure it is not something you need. If it is an essential process you will do better to use another option listed below.

  • In console, type this to stop the process(replace “PID” with the process ID you want to kill). This will stop the process and you can check that the process has stopped by running the command from step “a”:

sudo kill -9 PID

  • You’re done!

Option 2

  • Change to another port by modifying the default port in your docker-compose.yml file. If the process using your desired port is, in fact, essential for your setup, you can always just change the port for your docker instance. In the example below, it was port 8080 that was being used. You can change it to another value like 8086, for example. Just remember to also adjust any other project settings linking to this particular port to the new value you select.

Image #2 Resolving Bind: Address blog

  • Restart the container instance after doing this for changes to take effect.

Option 3

  • This issue can happen when for any reason your host reboots. In this instance, try restarting your apache server. Stopping apache2 service in the host can solve it.

sudo /etc/init.d/apache2 restart 


sudo apachectl -k restart

Option 4

  • If nginx is running globally this could be the reason too. Run:

sudo nginx -s stop

When in Doubt

Always refer to the official Docker documentation. The Docker team have created additional resources, both free and paid, to supplement their product, and additional community support. Community support is fantastic! It allows developers from all across the world to collaborate and connect.

If you are new to Docker, have a look at their 101 tutorial here, and their learning programs here.

If you're looking for more advanced solutions or need help implementing Docker into your project, you can always contact our team to discuss custom JavaScript solutions.

Best of luck, and happy coding!

Let's build something amazing together

Give us a ring and let us know how we can help you reach your goals. Or if you'd like, start a chat. We're usually available 9-5 EST. We try to respond to every inquiry within one business day.

Phone number

Technologies and services we work with:

Laravel Laravel
WordPress WordPress
React ReactJS
EmberJS EmberJS
woocommerce WooCommerce
next.js NextJS
gatsby Gatsby
Shopify Shopify
VueJs VueJS
contentful Contentful
next.js JAMStack
gatsby Laravel Jigsaw
WPEngine WP Engine
Laravel Livewire Laravel Livewire
Netlify Netlify