|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Support::Linux Servers Support forum for Linux EQEMu users. |
|
|
|
02-12-2022, 06:42 AM
|
Fire Beetle
|
|
Join Date: Feb 2020
Posts: 13
|
|
Project akk-stack - unable to start mariadb
Quote:
ERROR: for d3f1d38b4842_peq-local_mariadb_1 Cannot start service mariadb: driver failed programming external connectivity on endpoint peq-local_mariadb_1 (56ab32b2cdaba96852752c753f1cfe73073a01fe210f36d52 39ef7f156f0e39f): Error starting userland proxy: listen tcp4 172.20.0.20:3306: bind: cannot assign requested address
Recreating e169422103e5_peq-local_eqemu-server_1 ... error
ERROR: for e169422103e5_peq-local_eqemu-server_1 Cannot start service eqemu-server: driver failed programming external connectivity on endpoint peq-local_eqemu-server_1 (06987ae47f52ace2e72052e63733bdaa03ac9f385ec7a6c92 b3b721d56ab149b): Error starting userland proxy: listen tcp4 172.20.0.20:9001: bind: cannot assign requested address
ERROR: for mariadb Cannot start service mariadb: driver failed programming external connectivity on endpoint peq-local_mariadb_1 (56ab32b2cdaba96852752c753f1cfe73073a01fe210f36d52 39ef7f156f0e39f): Error starting userland proxy: listen tcp4 172.20.0.20:3306: bind: cannot assign requested address
ERROR: for eqemu-server Cannot start service eqemu-server: driver failed programming external connectivity on endpoint peq-local_eqemu-server_1
(06987ae47f52ace2e72052e63733bdaa03ac9f385ec7a6c92 b3b721d56ab149b): Error starting userland proxy: listen tcp4 172.20.0.20:9001: bind: cannot assign requested address
|
This on a local server running Ubuntu 20.04. I also tried the 192.168.0 range.
netstat says nothing is using 3306 so I am thinking it's iptables on the host? Or is there something else I am missing?
EDIT : Yeah, its not the internal firewall as I allowed all 3306 and its still throwing that error.
EDIT : Did some googling and something doesn't look right.
Quote:
xxxxx:~/peq-local$ docker network ls
NETWORK ID NAME DRIVER SCOPE
2e88322eda52 bridge bridge local
995c19f4c868 host host local
9fd44a0d43a8 none null local
0dd171274382 peq-local_backend bridge local
xxxxxx:~/peq-local$ docker network inspect peq-local_backend
[
{
"Name": "peq-local_backend",
"Id": "0dd171274382c1ab8dc12c8602ac73b17af2efc3eb8fd0a93 ce04934cc0d886c",
"Created": "2022-02-12T15:10:39.7912322Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.19.0.0/16",
"Gateway": "172.19.0.1"
}
]
},
"Internal": false,
"Attachable": true,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {},
"Labels": {
"com.docker.compose.network": "backend",
"com.docker.compose.project": "peq-local",
"com.docker.compose.version": "1.29.2"
}
}
]
|
Note, I tole the make command to give me 172.20.0.20 but its made the network for 172.19.0.0/16. Also I edited the .env file to set the port to 3386 and that was NOT picked up. It keeps trying to assign 3306.
|
|
|
|
02-12-2022, 11:38 AM
|
Sarnak
|
|
Join Date: Jan 2022
Location: In the woods
Posts: 66
|
|
Actually setting the .env to 3386 only makes the internal use 3386. Where it is failing to build is your machine has something using 3306 external to the docker container.
3306:3386 basically the docker container is forwarding 3306 to 3386 into the container. I am betting you have a mariadb/mysql instance running locally on your machine using 3306.
run sudo systemctl stop mysql and then try it. If that is the case and your not using the external either remove it or change it's port to 3307 for future endeavors.
Also looks like something is using 9001. Did you do the non docker install previous? If so it is running.
__________________
Freejacks EQ World
Just a place to adventure and do the things I did not do before and that was a long time ago.
|
|
|
|
02-12-2022, 12:38 PM
|
Fire Beetle
|
|
Join Date: Feb 2020
Posts: 13
|
|
Quote:
Originally Posted by Freejack
Actually setting the .env to 3386 only makes the internal use 3386. Where it is failing to build is your machine has something using 3306 external to the docker container.
3306:3386 basically the docker container is forwarding 3306 to 3386 into the container. I am betting you have a mariadb/mysql instance running locally on your machine using 3306.
run sudo systemctl stop mysql and then try it. If that is the case and your not using the external either remove it or change it's port to 3307 for future endeavors.
Also looks like something is using 9001. Did you do the non docker install previous? If so it is running.
|
Thanks for looking but as I said, nothing is using these ports. None of sudo netstat, sudo lsof or sudo fuser showing anything using 3306, 9001 or indeed any of the other ports it is using which are also blocked.
There seems to be a fundamental problem in that these containers can't assign ANY port. I have never installed any version of peq on this device before. These are the only docker containers installed.
Quote:
sudo systemctl stop mysql
Failed to stop mysql.service: Unit mysql.service not loaded.
|
Same for mariadb. They aren't running.
Please dont tell me I have to virtualbox up a VM on the host to get docker to work properly ...
Also, UFW is disabled on the host. I mean I am seriously lost now.
That's what sudo netstat says is in use.
Quote:
Local
127.0.0.1:8080
127.0.0.1:34513
0.0.0.0:8081
127.0.0.1:32401
127.0.0.53:53
127.0.0.1:32600
127.0.0.1:25
0.0.0.0:8989
0.0.0.0:445
0.0.0.0:8191
127.0.0.1:40005
0.0.0.0:139
0.0.0.0:50638
192.168.1.130:43968
192.168.1.130:8989
192.168.1.130:43790
127.0.0.1:34513
192.168.1.130:43446
192.168.1.130:33812
127.0.0.1:37733
192.168.1.130:8989
192.168.1.130:8081
127.0.0.1:35289
192.168.1.130:42444
192.168.1.130:33810
192.168.1.130:42934
127.0.0.1:55354
127.0.0.1:35887
192.168.1.130:43504
192.168.1.130:8989
192.168.1.130:33978
192.168.1.130:43700
127.0.0.1:50670
127.0.0.1:34513
192.168.1.130:42926
192.168.1.130:8989
127.0.0.1:50862
127.0.0.1:55154
127.0.0.1:33011
127.0.0.1:47010
192.168.1.130:50638
192.168.1.130:8989
192.168.1.130:445
192.168.1.130:43508
127.0.0.1:33028
192.168.1.130:40820
:::32400
::1:25
:::9117
:::445
:::8191
:::7878
:::139
:::50638
192.168.1.130:9117
|
|
|
|
|
02-12-2022, 12:59 PM
|
|
Demi-God
|
|
Join Date: Oct 2010
Posts: 1,332
|
|
This is just "one" cause to an issue like that,
Sometimes both the apt and snap version of docker get installed. If so, remove the snap version of docker by running: sudo snap remove docker
|
02-12-2022, 02:17 PM
|
Fire Beetle
|
|
Join Date: Feb 2020
Posts: 13
|
|
Quote:
Originally Posted by Huppy
This is just "one" cause to an issue like that,
Sometimes both the apt and snap version of docker get installed. If so, remove the snap version of docker by running: sudo snap remove docker
|
Yep, saw that on another site and have done that. Had to install docker-compose again with apt.
|
|
|
|
02-12-2022, 02:53 PM
|
Fire Beetle
|
|
Join Date: Feb 2020
Posts: 13
|
|
Is this something to do with the bridge it is trying to use being on 172.21.0 and me telling the make install to use 172.17.0.20?
Quote:
docker network inspect peq-local_backend
[
{
"Name": "peq-local_backend",
"Id": "ef39575d1c736316925d2d73d796dd58371ee92d19fa710c6 72d58e4cfecf8dd",
"Created": "2022-02-12T18:48:58.809770079Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.21.0.0/16",
"Gateway": "172.21.0.1"
}
]
},
"Internal": false,
"Attachable": true,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {},
"Labels": {
"com.docker.compose.network": "backend",
"com.docker.compose.project": "peq-local",
"com.docker.compose.version": "1.25.0"
}
}
]
Creating network "peq-local_backend" with driver "bridge"
Creating peq-local_mariadb_1 ...
Creating peq-local_mariadb_1 ... error
WARNING: Host is already in use by another container
ERROR: for peq-local_mariadb_1 Cannot start service mariadb: driver failed programming external connectivity on endpoint peq-local_mariadb_1 (07d0e593ca4bc19bc69eede98f2fe3009421715f09ddd7499 77ab968a46a47d6): Error starting userland proxy: listen tcp4 172.17.0.60:3306: bind: cannot assign requested address
Creating peq-local_eqemu-server_1 ... error
ERROR: for peq-local_eqemu-server_1 Cannot start service eqemu-server: driver failed programming external connectivity on endpoint peq-local_eqemu-server_1 (e8912ea14189168178aee21d9f87b186ca48cf08f19d23310 86b69b052aba793): Error starting userland proxy: listen tcp4 172.17.0.60:9001: bind: cannot assign requested address
ERROR: for mariadb Cannot start service mariadb: driver failed programming external connectivity on endpoint peq-local_mariadb_1 (07d0e593ca4bc19bc69eede98f2fe3009421715f09ddd7499 77ab968a46a47d6): Error starting userland proxy: listen tcp4 172.17.0.60:3306: bind: cannot assign requested address
ERROR: for eqemu-server Cannot start service eqemu-server: driver failed programming external connectivity on endpoint peq-local_eqemu-server_1 (e8912ea14189168178aee21d9f87b186ca48cf08f19d23310 86b69b052aba793): Error starting userland proxy: listen tcp4 172.17.0.60:9001: bind: cannot assign requested address
ERROR: Encountered errors while bringing up the project.
|
Because the install doc on github doesn't say you should use any specific ip?
EDIT : Nope.
Quote:
Creating peq-local_eqemu-server_1 ...
Creating peq-local_mariadb_1 ...
Creating peq-local_mariadb_1 ... error
ERROR: for peq-local_mariadb_1 Cannot start service mariadb: driver failed programming external connectivity on endpoint peq-local_mariadb_1 (991384bd2001da053f844577b4b1aeb2bb63069647f3285a6 279adf7cffc7d55): Error starting userland prox
Creating peq-local_eqemu-server_1 ... error
WARNING: Host is already in use by another container
ERROR: for peq-local_eqemu-server_1 Cannot start service eqemu-server: driver failed programming external connectivity on endpoint peq-local_eqemu-server_1 (5dab24ebe68412825c14d895fa191ec22f67014705c713074 db3534922493413): Error starting userland proxy: listen tcp4 172.21.0.60:9001: bind: cannot assign requested address
ERROR: for mariadb Cannot start service mariadb: driver failed programming external connectivity on endpoint peq-local_mariadb_1 (991384bd2001da053f844577b4b1aeb2bb63069647f3285a6 279adf7cffc7d55): Error starting userland proxy: listen tcp4 172.21.0.60:3306: bind: cannot assign requested address
ERROR: for eqemu-server Cannot start service eqemu-server: driver failed programming external connectivity on endpoint peq-local_eqemu-server_1 (5dab24ebe68412825c14d895fa191ec22f67014705c713074 db3534922493413): Error starting userland proxy: listen tcp4 172.21.0.60:9001: bind: cannot assign requested address
ERROR: Encountered errors while bringing up the project.
|
I have other containers running that can bind ports fine. I even tried the networking tutorial for docker to make sure something fundamental wasn't going wrong. Those containers worked fine and could bind ports.
|
|
|
|
|
|
|
02-12-2022, 03:32 PM
|
Fire Beetle
|
|
Join Date: Feb 2020
Posts: 13
|
|
Mariadb will install fine and start itself
Quote:
docker run --name mariadbtest -e MYSQL_ROOT_PASSWORD=mypass -p 3306:3306 -d docker.io/library/mariadb:10.3
Unable to find image 'mariadb:10.3' locally
10.3: Pulling from library/mariadb
08c01a0ec47e: Already exists
a2bcb14c13a1: Already exists
29c56760f879: Already exists
a95000a218fc: Already exists
a765d76e68d9: Already exists
c6945738f085: Already exists
62787b7c58c5: Already exists
c14f6657b501: Pull complete
020be96129ba: Pull complete
77a486976bcd: Pull complete
d3911f3f8652: Pull complete
Digest: sha256:a25e7c87fe20c6d035fe81003937a8d732574ecf544 66d0294da3423b64af80c
Status: Downloaded newer image for mariadb:10.3
33a8413efa502c1430fc64215cb453cb55f670dfede9af27ba f0a2c2290036e8
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
33a8413efa50 mariadb:10.3 "docker-entrypoint.s…" 8 minutes ago Up 8 minutes 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp mariadbtest
|
At this point its really starting to look like an issue between Ubuntu 20.04 and this build.
|
|
|
|
02-12-2022, 03:50 PM
|
Fire Beetle
|
|
Join Date: Feb 2020
Posts: 13
|
|
Curiously enough, using 0.0.0.0 as the IP means it has worked
I await someone to tell me exactly why this is a bad idea ....
|
02-12-2022, 04:38 PM
|
|
Demi-God
|
|
Join Date: Oct 2010
Posts: 1,332
|
|
Quote:
Originally Posted by Skream
Curiously enough, using 0.0.0.0 as the IP means it has worked
I await someone to tell me exactly why this is a bad idea ....
|
Using that as a bind address ? yes, it's best to do that, especially in the mysql/maria config.
|
02-13-2022, 03:59 AM
|
Fire Beetle
|
|
Join Date: Feb 2020
Posts: 13
|
|
Quote:
Originally Posted by Huppy
Using that as a bind address ? yes, it's best to do that, especially in the mysql/maria config.
|
No, I meant ...
Quote:
make set-vars port-range-high=7030 ip-address=0.0.0.0
|
From https://github.com/Akkadius/akk-stack#installation
Although I am now starting to think I should run this in a VM on my local server. That way it can have exclusive use of all the ports as it will have its own IP. Altho, its only a 4 Core/32 GB box.
|
|
|
|
02-14-2022, 08:01 PM
|
Sarnak
|
|
Join Date: Jan 2022
Location: In the woods
Posts: 66
|
|
Quote:
Originally Posted by Skream
No, I meant ...
From https://github.com/Akkadius/akk-stack#installation
Although I am now starting to think I should run this in a VM on my local server. That way it can have exclusive use of all the ports as it will have its own IP. Altho, its only a 4 Core/32 GB box.
|
In all honesty running it in the docker container is best. Uses less resources and has less overhead. In docker you are getting the bare metal experience in performance. Also you are running UFW on this machine? is it directly on the internet? if not and it is behind a firewall for your network, remove it. All it is doing is blocking intranet traffic when your behind another existing firewall.
This could also be causing your bind issues. Even if you turned it off I have had the experience of it still blocking ports and had to remove it to be able to use said ports on the IP.
__________________
Freejacks EQ World
Just a place to adventure and do the things I did not do before and that was a long time ago.
|
|
|
|
|
|
|
02-16-2022, 02:18 AM
|
Fire Beetle
|
|
Join Date: Feb 2020
Posts: 13
|
|
Quote:
Originally Posted by Freejack
In all honesty running it in the docker container is best. Uses less resources and has less overhead. In docker you are getting the bare metal experience in performance. Also you are running UFW on this machine? is it directly on the internet? if not and it is behind a firewall for your network, remove it. All it is doing is blocking intranet traffic when your behind another existing firewall.
This could also be causing your bind issues. Even if you turned it off I have had the experience of it still blocking ports and had to remove it to be able to use said ports on the IP.
|
I fixed the bind issues once I used 0.0.0.0 as the IP. I said previously UFW was off and iptables is set correctly.
The thing about using a VM is that there are a lot of services running on this box that want different ports, running on VM isolates the PEQ server. Also I can start akk-stack up under Debian. Reading this forum it seems people have had a more stable experience with Debian than Ubuntu 20.04.
|
|
|
|
|
|
|
02-16-2022, 11:41 AM
|
Sarnak
|
|
Join Date: Jan 2022
Location: In the woods
Posts: 66
|
|
Quote:
Originally Posted by Skream
I fixed the bind issues once I used 0.0.0.0 as the IP. I said previously UFW was off and iptables is set correctly.
The thing about using a VM is that there are a lot of services running on this box that want different ports, running on VM isolates the PEQ server. Also I can start akk-stack up under Debian. Reading this forum it seems people have had a more stable experience with Debian than Ubuntu 20.04.
|
Yes you did fix the bind issue with 0.0.0.0, now do you understand why it worked? If not then you don't understand why I said you may have to remove UFW to properly fix this. UFW may be saying it is off when it actually is not.
Also switching versions of Linux that are built on each other is not really the answer, solving the issue is the answer. I have been using Linux for over 20 years and every version has a distinct purpose and way of doing things. Ubuntu is based on Debian, I use Linux Mint which is based on both. Inside my network I do not run iptables or UFW because it is all behind a pfsense firewall. Doing double duty is only necessary if I am trying to isolate a box due to it containing sensitive information. A game server in my network is not that box.
Linux is designed for you to use what is more comfortable for you. So switching flavors/versions is your choice. It does mean learning another way of doing things. Debian may work better for some people, I again am using Linux Mint and have been for 6 years successfully on all my servers from games to data.
I have used every major distro and have found issues with all, it comes down to what do you need and how comfortable are you working in it. Also each distro has a lag in updating to the newest drivers and other updates like wine which also if you need the newest for some things a rolling distro maybe required.
Also if you have a dekstop on that server you may want to install GUFW so you have a GUI for UFW. Setting your IP to 0.0.0.0 for bind allows it to bind to any IP which means more than likely UFW was blocking the IP of the box ports but not localhost/127.0.0.1.
Just some thoughts to give you some more info to ponder.
__________________
Freejacks EQ World
Just a place to adventure and do the things I did not do before and that was a long time ago.
|
|
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 09:31 PM.
|
|
|
|
|
|
|
|
|
|
|
|
|