Welcome to the Linux Foundation Forum!

Lab 8.1 - Page5-7: docker0 interface has no default IPv4 when running nginx

Hello,

While working on the Lab 8.1 page5-7 (ver. LFS253_09.17.2021), I am facing an issue that the docker0 has no default IPv4 address.

  1. $ docker container run -d --name web nginx
  2. 206c7ae0a89a19857881a621b9efbefee144a010b340603cbd083ee16affda0f
  3.  
  4. $ ip a
  5. 4: docker0: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN group default
  6. link/ether 02:42:7b:65:0c:89 brd ff:ff:ff:ff:ff:ff

However, from the example on the handouts, it has

When Docker daemon starts, it creates adocker0networkbridge on the host system. By default, all thecontainers connect to thedocker0network bridge.
...
3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UPgroup defaultlink/ether 02:42:92:80:94:51 brd ff:ff:ff:ff:ff:ffinet 172.17.0.1/16 brd 172.17.255.255 scope global docker0valid_lft forever preferred_lft foreverinet6 fe80::42:92ff:fe80:9451/64 scope linkvalid_lft forever preferred_lft forever
...

It seems not a new issue, and workarounds were tried by following https://github.com/moby/moby/issues/40217. But it does not work.

Would someone provide any advice?

Thanks,
Shiyang


Additional Information:
System: Ubuntu 20.04.3 LTS

Output of docker version:

  1. docker version
  2. Client: Docker Engine - Community
  3. Version: 20.10.8
  4. API version: 1.41
  5. Go version: go1.16.6
  6. Git commit: 3967b7d
  7. Built: Fri Jul 30 19:54:27 2021
  8. OS/Arch: linux/amd64
  9. Context: default
  10. Experimental: true
  11.  
  12. Server: Docker Engine - Community
  13. Engine:
  14. Version: 20.10.8
  15. API version: 1.41 (minimum version 1.12)
  16. Go version: go1.16.6
  17. Git commit: 75249d8
  18. Built: Fri Jul 30 19:52:33 2021
  19. OS/Arch: linux/amd64
  20. Experimental: false
  21. containerd:
  22. Version: 1.4.10
  23. GitCommit: 8848fdb7c4ae3815afcc990a8a99d663dda1b590
  24. runc:
  25. Version: 1.0.2
  26. GitCommit: v1.0.2-0-g52b36a2
  27. docker-init:
  28. Version: 0.19.0
  29. GitCommit: de40ad0
  30.  

Output of docker info:

  1. Client:
  2. Context: default
  3. Debug Mode: false
  4. Plugins:
  5. app: Docker App (Docker Inc., v0.9.1-beta3)
  6. buildx: Build with BuildKit (Docker Inc., v0.6.1-docker)
  7. scan: Docker Scan (Docker Inc., v0.8.0)
  8.  
  9. Server:
  10. Containers: 1
  11. Running: 1
  12. Paused: 0
  13. Stopped: 0
  14. Images: 18
  15. Server Version: 20.10.8
  16. Storage Driver: overlay2
  17. Backing Filesystem: extfs
  18. Supports d_type: true
  19. Native Overlay Diff: true
  20. userxattr: false
  21. Logging Driver: json-file
  22. Cgroup Driver: cgroupfs
  23. Cgroup Version: 1
  24. Plugins:
  25. Volume: local
  26. Network: bridge host ipvlan macvlan null overlay
  27. Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
  28. Swarm: inactive
  29. Runtimes: runc io.containerd.runc.v2 io.containerd.runtime.v1.linux
  30. Default Runtime: runc
  31. Init Binary: docker-init
  32. containerd version: 8848fdb7c4ae3815afcc990a8a99d663dda1b590
  33. runc version: v1.0.2-0-g52b36a2
  34. init version: de40ad0
  35. Security Options:
  36. apparmor
  37. seccomp
  38. Profile: default
  39. Kernel Version: 5.11.0-38-generic
  40. Operating System: Ubuntu 20.04.3 LTS
  41. OSType: linux
  42. Architecture: x86_64
  43. CPUs: 2
  44. Total Memory: 3.81GiB
  45. Name: ubuntu
  46. ID: PZB2:M7VK:IDTT:BADO:K7OO:L6RU:KZZO:3DJ4:5GRC:FXD6:7SRN:J7UX
  47. Docker Root Dir: /var/lib/docker
  48. Debug Mode: false
  49. Registry: https://index.docker.io/v1/
  50. Labels:
  51. Experimental: false
  52. Insecure Registries:
  53. 127.0.0.0/8
  54. Live Restore Enabled: false

Best Answer

  • Posts: 2,443
    Answer ✓

    Hi @sli3,

    Following the VM provisioning steps with the course recommended hypervisor (VirtualBox) and the recommended bridged network, and then separately with NAT networking as seen in your environment, both lead to successful default docker0 networks creation with default subnets assigned.

    I would recommend attempting to create a custom docker bridge network, validating its subnet and attach containers to it.

    If the custom bridge creation is not successful, then the VMware Fusion documentation could provide some tips for networking configuration at the hypervisor level that may allow Docker to create its default bridge network on the guest VM.

    If all else fails, using a different hypervisor for VM provisioning may help overcome this step and move forward with the lab exercises.

    Regards,
    -Chris

Answers

  • Hi @sli3,

    Can you share additional details about your system? Is it a native host or a VM? What hypervisor is used, or what cloud infrastructure and what type of cloud instance. VM/Instance size - CPU, MEM, disk. How was docker installed?

    Regards,
    -Chris

  • Posts: 2

    Hi Instructor @chrispokorni,

    Thanks for your response. I use MacBook Pro with MacOS 11.6 (20G165). It was created and hosted in a VM (VMware Fusion 12.1) where the Ubuntu was installed from a 64-bit LTS ISO image that downloaded from its official website (https://ubuntu.com/).

    The Ubuntu VM is allocated:

    • 2 processors
    • 4096 MB Memory
    • 12 GB disk size
    • Network Adapter:

    The docker was installed by following the instructions that provided in LFS253.

    Thanks,
    Shiyang

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Categories

Upcoming Training