# My journey to install NaturalOne CE on Win11 with Docker Desktop in 2023

**URL:** <https://techcommunity.softwareag.com/t/my-journey-to-install-naturalone-ce-on-win11-with-docker-desktop-in-2023/282290>\
**Category:** Forum\
**Tags:** Adabas-Natural, Adabas, Natural, NaturalONE, docker\
**Created:** [August 20, 2023, 2:00am UTC](https://techcommunity.softwareag.com/t/my-journey-to-install-naturalone-ce-on-win11-with-docker-desktop-in-2023/282290 "2023-08-20T02:00:43Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![sr.generoso](https://sea1.discourse-cdn.com/techcommunity/user_avatar/techcommunity.softwareag.com/sr.generoso/32/29240_2.png) [@sr.generoso](https://techcommunity.softwareag.com/u/sr.generoso)\
**Post date:** [August 22, 2023, 2:24am UTC](https://techcommunity.softwareag.com/t/my-journey-to-install-naturalone-ce-on-win11-with-docker-desktop-in-2023/282290/6 "2023-08-22T02:24:13Z")

</div>

## Learning about docker networking

I’m reading this [guide](https://www.tutorialworks.com/container-networking/)  
My goal is to create a network connection between the natural-CE container and the adabas-ce container whitout having to set it up manually.  
Right now we do it telling the natural container to add an extra-host when running the container which literally add `192.168.1.36 adabas-db` to the `/etc/hosts/` in the container during initialization. That means, that if we put adabas-db in a browser inside that container we would be able to access the database…, right?

 ![image](https://global.discourse-cdn.com/techcommunity/original/3X/8/4/8489b6b24e6e32cc16738d62eda396f3e403d074.png)  
actually it does (forget the 0.0.0.0 adabas-db, is the config I used during this container run (which doesn’t work), it should be the IP I got earlier)  
So, how do I fix it. Let’s go back to the guide.

Apparently docker creates a bridge when it creates container, and every container can see each other, but you need the ip. In adabas manager I can tell him which IP to use because they are already running and I can check for that, but how can I do it programaticly?  
The guide mentions a user-defined bridge. Let’s check the [docs](https://docs.docker.com/network/drivers/bridge/)

Alright, so we can create a new network  
`docker network create my-docker-net`  
and use that network when creating the containers.

```auto
docker run -d -p 60001:60001 -p 8190:8190 -e ACCEPT_EULA=Y -e ADADBID=12 -e "ADA_DB_CREATION=demodb" --name adabas-db --network my-docker-net softwareag/adabas-ce:7.1.1

```

Or connect a running container to that network, I’ll try adabas-manager to test the functionality. To do that I have to add both adabas-db and adabas-manager to the same network  
`docker network connect my-docker-net adabas-db`  
and  
`docker network connect my-docker-net adabas-manager`

Now in theory I should be able to connect adabas manager to adabas using the name of the container as the hostname

 ![image](https://global.discourse-cdn.com/techcommunity/original/3X/d/0/d0ae3ddb9d0a0a98d092da3655ae26e0e29a705a.png)  
It worked!!  
 ![image](https://global.discourse-cdn.com/techcommunity/original/3X/d/c/dc924faed0020586890894fcc56742af70b7f350.png)

Alright… let’s think the next step. I should be able to remove the extra host from the natural-ce container and connect it to the same network, right?  
Let’s see how to do that in the docker compose to make it easier.  
Mmm, the docs are [interesting](https://docs.docker.com/compose/networking/)… when you use compose it creates a network by default called the same as the folder where the docker-compose.yaml file is located. Does that mean that I don’t have to add the extra-host in it? Well, that’s should be right if the container name is the same as the host we are adding which is true in this case. Let me check it.  
My theory is… Eclipse connects to natural-ce container through localhost, and natural should be configured to connect to adabas-db using that as a host…

Natural is working…

 ![image](https://global.discourse-cdn.com/techcommunity/original/3X/a/2/a259a7bc70b4d815e43e7055a49eade8cb6b6892.png)

and adabas is working too!!!

 ![image](https://global.discourse-cdn.com/techcommunity/original/3X/2/7/273eff0e8d22fc680ec8f13e89105e8e6f02c7d7.png)

You don’t need to set the extra-host in docker compose!! So nice!  
But, if you are running the container by themselves you have to create a network and set the network for each container.  
But if you use Docker compose (which looks better and better every time) you can omit a lot and just use the container names as host for connectivity.  
Here is my docker-compose.yaml now

> **docker-compose.yaml**
>
> version: ‘3.3’  
> services:  
> adabas-ce:  
> ports:  
> - ‘60001:60001’  
> - ‘8190:8190’  
> environment:  
> - ACCEPT\_EULA=Y  
> - ADADBID=12  
> - ADA\_DB\_CREATION=demodb  
> container\_name: adabas-db  
> image: ‘softwareag/adabas-ce:7.1.1’  
> natural-ce:  
> ports:  
> - ‘2700:2700’  
> environment:  
> - ACCEPT\_EULA=Y  
> container\_name: natural-ce  
> image: ‘softwareag/natural-ce:9.2.1’  
> adabasmanager-ce:  
> ports:  
> - ‘4990:4990’  
> environment:  
> - ACCEPT\_EULA=Y  
> container\_name: adabas-manager  
> image: ‘softwareag/adabasmanager-ce:9.1.0.1’

Also, for those interested, you can check the configuration of natural in

 ![image](https://global.discourse-cdn.com/techcommunity/original/3X/9/2/920688e04334165f138ca185e4f023ffd0c80519.png)

You can see it is preconfigured to map db 12, which is the one loaded with examples and 11, which doesn’t exist at this moment, to the host ADABAS-DB:60001.

I have to keep this in mind for when I create my own database for learning. How can I edit files in UNIX when I don’t have vi installed? Maybe through sh? In any case, case closed for now. Hope it helped somebody. Sorry for being so chaotic, as I said I’m documenting while I’m learning.

---

_[View the full topic](https://techcommunity.softwareag.com/t/my-journey-to-install-naturalone-ce-on-win11-with-docker-desktop-in-2023/282290)._
