# Connect local SQL server using docker

**URL:** <https://discourse.nodered.org/t/connect-local-sql-server-using-docker/63345>\
**Category:** General\
**Tags:** database, docker\
**Created:** [1 June 2022 07:55 UTC](https://discourse.nodered.org/t/connect-local-sql-server-using-docker/63345 "2022-06-01T07:55:37Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![noob69](https://avatars.discourse-cdn.com/v4/letter/n/0ea827/32.png) [@noob69](https://discourse.nodered.org/u/noob69)\
**Post date:** [1 June 2022 07:55 UTC](https://discourse.nodered.org/t/connect-local-sql-server-using-docker/63345/1 "2022-06-01T07:55:37Z")

</div>

I'm trying to get data from local server using a mssql node hosted in a docker container in the same pc. But it throws me this error.

`getaddrinfo ENOTFOUND <ServerName>`

I have checked the firewall and tcp ports. They seems fine.

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [1 June 2022 08:32 UTC](https://discourse.nodered.org/t/connect-local-sql-server-using-docker/63345/2 "2022-06-01T08:32:39Z")

</div>

Docker is a virtual environment. So unless you've allowed the port number for the sql server to be used by the node-red Docker instance, you won't be able to access it.

---

<div class="post-metadata">

**Author:** ![noob69](https://avatars.discourse-cdn.com/v4/letter/n/0ea827/32.png) [@noob69](https://discourse.nodered.org/u/noob69)\
**Post date:** [1 June 2022 08:40 UTC](https://discourse.nodered.org/t/connect-local-sql-server-using-docker/63345/3 "2022-06-01T08:40:18Z")

</div>

Hi @TotallyInformation So can I use the same port (1433) for the docker.

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [1 June 2022 09:10 UTC](https://discourse.nodered.org/t/connect-local-sql-server-using-docker/63345/4 "2022-06-01T09:10:50Z")

</div>

My advice when it comes to docker - don't use it unless you _really_ need to. And when you get stuck, head to the docker forums or stack overflow because you won't be the first (or last) to have issue setting up.

Personally, for node-red, I see little benefit of using docker. Just my 2¢, ymmv

---

<div class="post-metadata">

**Author:** ![noob69](https://avatars.discourse-cdn.com/v4/letter/n/0ea827/32.png) [@noob69](https://discourse.nodered.org/u/noob69)\
**Post date:** [1 June 2022 09:14 UTC](https://discourse.nodered.org/t/connect-local-sql-server-using-docker/63345/5 "2022-06-01T09:14:32Z")

</div>

Hi @Steve-Mcl Thanks for the advice

---

<div class="post-metadata">

**Author:** ![davall](https://avatars.discourse-cdn.com/v4/letter/d/aca169/32.png) [@davall](https://discourse.nodered.org/u/davall)\
**Post date:** [1 June 2022 11:46 UTC](https://discourse.nodered.org/t/connect-local-sql-server-using-docker/63345/6 "2022-06-01T11:46:11Z")

</div>

Docker is awesome. Less ressources, scalable, ready in seconds. Updating the container is a snap.  
But i admit, you have to know how to configure and administer your container.  
Take the following docker-compose.yml file and start it with "docker-compose up [-d]", release it later on with "docker-compose down"  
Voila, Nodered is ready to serve on host port 2880. MSSQL-DB is only accessible for the Nodered container on Port 1433, otherwise add additonal container to the compose file or make it accessible on the host. Data (flows etc.) for nodered goes to ./volumes/nodered and for mssqldb to ./volumes/mssqldb

> version: "3.7"
> 
> services:  
> node-red:  
> image: nodered/node-red:latest  
> container\_name: nodered\_con  
> environment:  
> - TZ=Europe/London  
> ports:  
> - "2880:1880" # port 2880 to access on host  
> - ./volumes/node-red:/data  
> restart: unless-stopped
> 
> mssqldb:  
> image: [Microsoft Artifact Registry](http://mcr.microsoft.com/mssql/server)  
> container\_name: mssqldb\_con  
> environment:  
> SA\_PASSWORD: "_ **Your Secret PASS** _"  
> TZ: "Europe/London"  
> ACCEPT\_EULA: "Y"  
> expose:  
> - 1433  
> volumes:  
> - ./volumes/mssqldb:/var/opt/mssql  
> restart: unless-stopped

You should lint your .yml file with "docker-compose config" beforehand.

---

<div class="post-metadata">

**Author:** ![noob69](https://avatars.discourse-cdn.com/v4/letter/n/0ea827/32.png) [@noob69](https://discourse.nodered.org/u/noob69)\
**Post date:** [2 June 2022 05:53 UTC](https://discourse.nodered.org/t/connect-local-sql-server-using-docker/63345/7 "2022-06-02T05:53:40Z")

</div>

Hi @davall is that yamal createing a seperate MSSQL container.

```auto
mssqldb:
image: [mcr.microsoft.com/mssql/server](http://mcr.microsoft.com/mssql/server)
container_name: mssqldb_con
environment:
SA_PASSWORD: " ***Your Secret PASS***"
TZ: "Europe/London"
ACCEPT_EULA: "Y"
expose:
- 1433
volumes:
- ./volumes/mssqldb:/var/opt/mssql
restart: unless-stopped

```

---

<div class="post-metadata">

**Author:** ![davall](https://avatars.discourse-cdn.com/v4/letter/d/aca169/32.png) [@davall](https://discourse.nodered.org/u/davall)\
**Post date:** [2 June 2022 10:26 UTC](https://discourse.nodered.org/t/connect-local-sql-server-using-docker/63345/8 "2022-06-02T10:26:25Z")

</div>

Yes, one container for nodered and one for the database.  
If you have another DB on your host on port 1433, the containerized database doesn't affect your host database.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [1 August 2022 10:27 UTC](https://discourse.nodered.org/t/connect-local-sql-server-using-docker/63345/9 "2022-08-01T10:27:23Z")

</div>

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
