Skip to content

VNC does not work when multiple containers are run on same container network #17

@engageub

Description

@engageub

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

Hi Support Team,

I see that chromium container listens on port 6900 which is part of kclient (kasm) apart from default http and https custom ports.
Could you please provide support to run multiple containers on same container network. The following error is being shown while running the second container.

Please find below the error messages in the container.

Error messages in the container:
Node.js v18.17.1
Obt-Message: Xinerama extension is not present on the server
Openbox-Message: A window manager is already running on screen 0
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
(EE)
Fatal server error:
(EE) Cannot establish any listening sockets - Make sure an X server isn't already running(EE)
node:events:492
throw er; // Unhandled 'error' event
^

Error: listen EADDRINUSE: address already in use :::6900
at Server.setupListenHandle [as _listen2] (node:net:1751:16)
at listenInCluster (node:net:1799:12)
at Server.listen (node:net:1887:7)
at Object. (/kclient/index.js:184:6)
at Module._compile (node:internal/modules/cjs/loader:1256:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
at Module.load (node:internal/modules/cjs/loader:1119:32)
at Module._load (node:internal/modules/cjs/loader:960:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:23:47
Emitted 'error' event on Server instance at:
at emitErrorNT (node:net:1778:8)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
code: 'EADDRINUSE',
errno: -98,
syscall: 'listen',
address: '::',
port: 6900
}

Thank you

Expected Behavior

Should run the same as first container without errors and should have unique port numbers or an option where all internal port numbers of KASM can be changed.

Steps To Reproduce

sudo docker run --name tuncontainer  --restart=always -e PROXY="127.0.0.1:2345" -v '/dev/net/tun:/dev/net/tun' --cap-add=NET_ADMIN  -d xjasonlyu/tun2socks:v2.5.0
sudo docker run  -d --name chromecontainer1 --network=container:tuncontainer  -e TZ=Etc/UTC  -e CHROME_CLI="https://yahoo.com" --security-opt seccomp=unconfined --shm-size="1gb" lscr.io/linuxserver/chromium:latest
sudo docker run  -d --name chromecontainer2 --network=container:tuncontainer  -e TZ=Etc/UTC -e CUSTOM_PORT=3500  -e CUSTOM_HTTPS_PORT=3501 -e CHROME_CLI="https://google.com" --security-opt seccomp=unconfined --shm-size="1gb" lscr.io/linuxserver/chromium:latest

After running the above three commands, look into the logs of container1 and container2.

sudo docker container logs chromecontainer1
sudo docker container logs chromecontainer2

You will find that container2 does not start due to conflicting ports and display numbers.

Thank you

Environment

Docker version 24.0.5, build 24.0.5-0ubuntu1~22.04.1

CPU architecture

x86-64

Docker creation

sudo docker run --name tuncontainer  --restart=always -e PROXY="127.0.0.1:2345" -v '/dev/net/tun:/dev/net/tun' --cap-add=NET_ADMIN  -d xjasonlyu/tun2socks:v2.5.0
sudo docker run  -d --name chromecontainer1 --network=container:tuncontainer  -e TZ=Etc/UTC  -e CHROME_CLI="https://yahoo.com" --security-opt seccomp=unconfined --shm-size="1gb" lscr.io/linuxserver/chromium:latest
sudo docker run  -d --name chromecontainer2 --network=container:tuncontainer  -e TZ=Etc/UTC -e CUSTOM_PORT=3500  -e CUSTOM_HTTPS_PORT=3501 -e CHROME_CLI="https://google.com" --security-opt seccomp=unconfined --shm-size="1gb" lscr.io/linuxserver/chromium:latest

After running the above three commands, look into the logs of container1 and container2.

sudo docker container logs chromecontainer1
sudo docker container logs chromecontainer2

You will find that container2 does not start due to conflicting ports and display numbers.

Thank you



### Container logs

```bash
_XSERVTransMakeAllCOTSServerListeners: server already running
(EE)
Fatal server error:
(EE) Cannot establish any listening sockets - Make sure an X server isn't already running(EE)
Obt-Message: Xinerama extension is not present on the server
Openbox-Message: A window manager is already running on screen 0
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
(EE)
Fatal server error:
(EE) Cannot establish any listening sockets - Make sure an X server isn't already running(EE)
Obt-Message: Xinerama extension is not present on the server
Openbox-Message: A window manager is already running on screen 0
Obt-Message: Xinerama extension is not present on the server
Openbox-Message: A window manager is already running on screen 0
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
(EE)
Fatal server error:
(EE) Cannot establish any listening sockets - Make sure an X server isn't already running(EE)
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
(EE)
Fatal server error:
(EE) Cannot establish any listening sockets - Make sure an X server isn't already running(EE)
Obt-Message: Xinerama extension is not present on the server
Openbox-Message: A window manager is already running on screen 0
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
(EE)
Fatal server error:
(EE) Cannot establish any listening sockets - Make sure an X server isn't already running(EE)
node:events:492
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRINUSE: address already in use :::6900
    at Server.setupListenHandle [as _listen2] (node:net:1751:16)
    at listenInCluster (node:net:1799:12)
    at Server.listen (node:net:1887:7)
    at Object.<anonymous> (/kclient/index.js:184:6)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Module._load (node:internal/modules/cjs/loader:960:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:23:47
Emitted 'error' event on Server instance at:
    at emitErrorNT (node:net:1778:8)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
  code: 'EADDRINUSE',
  errno: -98,
  syscall: 'listen',
  address: '::',
  port: 6900
}

Node.js v18.17.1
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
(EE)
Fatal server error:
(EE) Cannot establish any listening sockets - Make sure an X server isn't already running(EE)
Obt-Message: Xinerama extension is not present on the server
Openbox-Message: A window manager is already running on screen 0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions