mviereck / x11docker

Run GUI applications and desktops in docker and podman containers. Focus on security.
MIT License
5.62k stars 378 forks source link

Enable ipv6 in docker container started by x11docker. #324

Closed hongyi-zhao closed 3 years ago

hongyi-zhao commented 3 years ago

The following are the IP addresses of my docker container started by x11docker:

werner@58720b89d7af:~/Desktop$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
7: eth0@if8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever

On the host, I've ipv4/6 double stacks enabled as shown below, but why has only ipv4 been enabled in the Docker container?

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 3c:ec:ef:00:f1:28 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.2/24 brd 192.168.0.255 scope global enp4s0
       valid_lft forever preferred_lft forever
    inet6 240e:340:3f47:9de0::1000/128 scope global dynamic noprefixroute 
       valid_lft 83734sec preferred_lft 83734sec
    inet6 240e:340:3f47:9de0:3eec:efff:fe00:f128/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 86318sec preferred_lft 14318sec
    inet6 fe80::3eec:efff:fe00:f128/64 scope link 
       valid_lft forever preferred_lft forever
3: enp5s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 3c:ec:ef:00:f1:29 brd ff:ff:ff:ff:ff:ff
4: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:54:0b:76:61 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:54ff:fe0b:7661/64 scope link 
       valid_lft forever preferred_lft forever
8: veth8a54f70@if7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default 
    link/ether 06:3d:41:9f:18:08 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet6 fe80::43d:41ff:fe9f:1808/64 scope link 
       valid_lft forever preferred_lft forever

Any hints will be highly appreciated.

Regards, HY

mviereck commented 3 years ago

x11docker does no special network setup for containers. The container network setup is the default of docker. You'll find the same if you run a docker container directly without x11docker. Please look at Docker documentation for a possible ipv6 setup. I have no experience with this.

hongyi-zhao commented 3 years ago

I try to enable the ipv6 for docker container according to some guidances below:

https://docs.docker.com/config/daemon/ipv6/ https://medium.com/@skleeschulte/how-to-enable-ipv6-for-docker-containers-on-ubuntu-18-04-c68394a219a2

But I meet the following error when starting the container with x11docker:

 Just in case, check if host and image architecture are compatible: 
  Host architecture: amd64 (x86_64), image architecture: amd64. 
  Output of "docker ps | grep x11docker": 

  Content of container log: 
WARNING: No swap limit support 
WARNING: No blkio weight support 
WARNING: No blkio weight_device support 
docker: Error response from daemon: Address already in use. 
Error response from daemon: Container 9ff223cfed62c414b9672779a5cc37e71dc38dd2aae15f23f6ce22d6e37bec86 is not running

  Type 'x11docker --help' for usage information
  Debug options: '--verbose' (full log) or '--debug' (log excerpt).
  Logfile will be: /home/werner/.cache/x11docker/x11docker.log
  Please report issues at https://github.com/mviereck/x11docker

The screenshot:

image

mviereck commented 3 years ago

docker: Error response from daemon: Address already in use.

The message says that you are using an adress that is already in use. Likely you have set up the same adress for two containers at a time.