This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMDSIDK574: Docker daemon does not start in compiled image 'tisdk-docker-rootfs-image-am57xx-evm.tar.xz'

Part Number: TMDSIDK574

When uploading this image 'tisdk-docker-rootfs-image-am57xx-evm.tar.xz' into a sd card and trying to launch a docker image I get this error:

Cannot connect to the Docker daemon at Unix:///var/run.dcoker.sock.  Is the docker daemon running?

Then I try to launch the docker daemon manually (docker) and I get the following error:

failed to start daemon: Error initializing network controller: Error creating default 'bridge' network; Failed to program NAT. (exit status 1)

  • Hi Mauricio,

    Are you using TI EVM or your custom board?

    Which Processor SDK version do you use?

    Do you use the prebuilt kernel image in the Processor SDK or have you re-built the Linux kernel?

    • I am using the:: AM574X Industrial development kit TMDSIDK574
    • Processor SDK version: ti-processor-skd-linux-am57xx-evm-06.02.00.81
    • Yes I use the prebuilt kernel image from the processor SDK.  Specifically this image when creating the SD card: "tisdk-docker-rootfs-image-am57xx-evm.tar.xz"

    By the way when I try to run the linux RT sdk, the image does not boot.  The sdk name is:  ti-processor-skd-linux-rt-am57xx-evm-06.02.00.81

    For your information when I run the docker script that checks the Linux configuration kernel, it gives me messages of missing modules (attached file).  But if your image was created for running docker, then image was not properly created. 

    info: reading kernel config from /proc/config.gz ...
    
    Generally Necessary:
    - cgroup hierarchy: properly mounted [/sys/fs/cgroup]
    - CONFIG_NAMESPACES: enabled
    - CONFIG_NET_NS: enabled
    - CONFIG_PID_NS: enabled
    - CONFIG_IPC_NS: enabled
    - CONFIG_UTS_NS: enabled
    - CONFIG_CGROUPS: enabled
    - CONFIG_CGROUP_CPUACCT: enabled
    - CONFIG_CGROUP_DEVICE: enabled
    - CONFIG_CGROUP_FREEZER: enabled
    - CONFIG_CGROUP_SCHED: enabled
    - CONFIG_CPUSETS: enabled
    - CONFIG_MEMCG: enabled
    - CONFIG_KEYS: enabled
    - CONFIG_VETH: missing
    - CONFIG_BRIDGE: enabled (as module)
    - CONFIG_BRIDGE_NETFILTER: enabled (as module)
    - CONFIG_NF_NAT_IPV4: enabled (as module)
    - CONFIG_IP_NF_FILTER: enabled (as module)
    - CONFIG_IP_NF_TARGET_MASQUERADE: enabled (as module)
    - CONFIG_NETFILTER_XT_MATCH_ADDRTYPE: missing
    - CONFIG_NETFILTER_XT_MATCH_CONNTRACK: missing
    - CONFIG_NETFILTER_XT_MATCH_IPVS: missing
    - CONFIG_IP_NF_NAT: enabled (as module)
    - CONFIG_NF_NAT: enabled (as module)
    - CONFIG_NF_NAT_NEEDED: enabled
    - CONFIG_POSIX_MQUEUE: enabled
    
    Optional Features:
    - CONFIG_USER_NS: enabled
    - CONFIG_SECCOMP: enabled
    - CONFIG_CGROUP_PIDS: enabled
    - CONFIG_MEMCG_SWAP: enabled
    - CONFIG_MEMCG_SWAP_ENABLED: enabled
        (cgroup swap accounting is currently enabled)
    - CONFIG_BLK_CGROUP: enabled
    - CONFIG_BLK_DEV_THROTTLING: missing
    - CONFIG_IOSCHED_CFQ: enabled
    - CONFIG_CFQ_GROUP_IOSCHED: missing
    - CONFIG_CGROUP_PERF: enabled
    - CONFIG_CGROUP_HUGETLB: missing
    - CONFIG_NET_CLS_CGROUP: missing
    - CONFIG_CGROUP_NET_PRIO: missing
    - CONFIG_CFS_BANDWIDTH: enabled
    - CONFIG_FAIR_GROUP_SCHED: enabled
    - CONFIG_RT_GROUP_SCHED: missing
    - CONFIG_IP_NF_TARGET_REDIRECT: missing
    - CONFIG_IP_VS: missing
    - CONFIG_IP_VS_NFCT: missing
    - CONFIG_IP_VS_PROTO_TCP: missing
    - CONFIG_IP_VS_PROTO_UDP: missing
    - CONFIG_IP_VS_RR: missing
    - CONFIG_EXT4_FS: enabled
    - CONFIG_EXT4_FS_POSIX_ACL: enabled
    - CONFIG_EXT4_FS_SECURITY: enabled
    - Network Drivers:
      - "moverlay":
        - CONFIG_VXLAN: missing
        - CONFIG_BRIDGE_VLAN_FILTERING: missing
          Optional (for encrypted networks):
          - CONFIG_CRYPTO: enabled
          - CONFIG_CRYPTO_AEAD: enabled (as module)
          - CONFIG_CRYPTO_GCM: enabled (as module)
          - CONFIG_CRYPTO_SEQIV: enabled (as module)
          - CONFIG_CRYPTO_GHASH: enabled (as module)
          - CONFIG_XFRM: enabled
          - CONFIG_XFRM_USER: enabled (as module)
          - CONFIG_XFRM_ALGO: enabled (as module)
          - CONFIG_INET_ESP: enabled (as module)
          - CONFIG_INET_XFRM_MODE_TRANSPORT: enabled (as module)
      - "mipvlan":
        - CONFIG_IPVLAN: missing
      - "mmacvlan":
        - CONFIG_MACVLAN: missing
        - CONFIG_DUMMY: missing
      - "mftp,tftp client in container":
        - CONFIG_NF_NAT_FTP: missing
        - CONFIG_NF_CONNTRACK_FTP: missing
        - CONFIG_NF_NAT_TFTP: missing
        - CONFIG_NF_CONNTRACK_TFTP: missing
    - Storage Drivers:
      - "maufs":
        - CONFIG_AUFS_FS: missing
      - "mbtrfs":
        - CONFIG_BTRFS_FS: missing
        - CONFIG_BTRFS_FS_POSIX_ACL: missing
      - "mdevicemapper":
        - CONFIG_BLK_DEV_DM: missing
        - CONFIG_DM_THIN_PROVISIONING: missing
      - "moverlay":
        - CONFIG_OVERLAY_FS: enabled
      - "mzfs":
        - /dev/zfs: missing
        - zfs command: missing
        - zpool command: missing
    
    Limits:
    - /proc/sys/kernel/keys/root_maxkeys: 1000000
    
    

  • Hi Mauricio,

    Let me try to reproduce the issue and get you back.

  • Hi Mauricio,

    It seems that the prebuilt kernel image provided in the SDK package doesn't have some kernel options enabled which are required to run docker. I will report the issue to the development team, meanwhile you can try to rebuild the kernel with the following options enabled to use docker.

    CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m                                           
    CONFIG_NF_CT_NETLINK=m                                                          
    CONFIG_NAMESPACES=y                                                             
    CONFIG_CPUSETS=y                                                                
    CONFIG_VETH=m                                                                   
    CONFIG_IP_VS=m                                                                  
    CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m                                            
    CONFIG_NETFILTER_XT_MATCH_IPVS=m 

  • Do you have instructions on how to enable this flags so I can build my own custom linux kernel?

  • There are plenty of information on internet showing how to configure linux kernel options. You probably want to use 'make menuconfig'.

    If you cannot find the location of these options in menuconfig, the following training video shows how to search for it. You can watch it from timestamp around 7'20".