Docker on H3 Armbian


Recommended Posts

Hi

Is docker supposed to run on OrangePi PC with Armbian 5.11?

How about DM Thin below?

 

 

BR

Anders

 

 

anders@orangepi1:~/bin$ sudo systemctl -l status docker

â— docker.service - Docker Application Container Engine

   Loaded: loaded (/lib/systemd/system/docker.service; enabled)

   Active: failed (Result: exit-code) since Fri 2016-06-03 17:48:47 CEST; 14min ago


  Process: 571 ExecStart=/usr/bin/docker daemon -H fd:// (code=exited, status=1/FAILURE)

 Main PID: 571 (code=exited, status=1/FAILURE)

 

Jun 03 17:48:44 orangepi1 systemd[1]: Starting Docker Application Container Engine...

Jun 03 17:48:46 orangepi1 docker[571]: time="2016-06-03T17:48:46.226560211+02:00" level=info msg="New containerd process, pid: 692\n"

Jun 03 17:48:47 orangepi1 docker[571]: time="2016-06-03T17:48:47.264771762+02:00" level=warning msg="Your Linux kernel version 3.4.112-sun8i can be unstable running docker. Please upgrade your kernel to 3.10.0."

Jun 03 17:48:47 orangepi1 docker[571]: time="2016-06-03T17:48:47.386711582+02:00" level=fatal msg="Error starting daemon: error initializing graphdriver: devicemapper: Error running deviceCreate (CreatePool) dm_task_run failed"

Jun 03 17:48:47 orangepi1 systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE

Jun 03 17:48:47 orangepi1 docker[571]: time="2016-06-03T17:48:47+02:00" level=info msg="stopping containerd after receiving terminated"

Jun 03 17:48:47 orangepi1 systemd[1]: Failed to start Docker Application Container Engine.

Jun 03 17:48:47 orangepi1 systemd[1]: Unit docker.service entered failed state.

 

 

 

anders@orangepi1:~/bin$ ./check-config.sh 

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_DEVPTS_MULTIPLE_INSTANCES: 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: missing

 

- CONFIG_KEYS: enabled

- CONFIG_MACVLAN: enabled (as module)

- CONFIG_VETH: enabled (as module)

- CONFIG_BRIDGE: enabled (as module)

- CONFIG_BRIDGE_NETFILTER: enabled

 

- CONFIG_NF_NAT_IPV4: missing

 

- CONFIG_IP_NF_FILTER: enabled (as module)

- CONFIG_IP_NF_TARGET_MASQUERADE: enabled (as module)

- CONFIG_NETFILTER_XT_MATCH_ADDRTYPE: enabled (as module)

- CONFIG_NETFILTER_XT_MATCH_CONNTRACK: 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: missing

- CONFIG_CGROUP_PIDS: missing

- CONFIG_MEMCG_SWAP: missing

- CONFIG_MEMCG_SWAP_ENABLED: missing

- CONFIG_MEMCG_KMEM: missing

- CONFIG_RESOURCE_COUNTERS: 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_NETPRIO_CGROUP: missing

- CONFIG_CFS_BANDWIDTH: missing

- CONFIG_FAIR_GROUP_SCHED: enabled

- CONFIG_RT_GROUP_SCHED: enabled

- CONFIG_EXT3_FS: missing

- CONFIG_EXT3_FS_XATTR: missing

- CONFIG_EXT3_FS_POSIX_ACL: missing

- CONFIG_EXT3_FS_SECURITY: missing

    (enable these ext3 configs if you are using ext3 as backing filesystem)

- CONFIG_EXT4_FS: enabled

- CONFIG_EXT4_FS_POSIX_ACL: enabled

- CONFIG_EXT4_FS_SECURITY: enabled

- Network Drivers:

  - "overlay":

    - CONFIG_VXLAN: missing

- Storage Drivers:

  - "aufs":

    - CONFIG_AUFS_FS: missing

  - "btrfs":

    - CONFIG_BTRFS_FS: enabled

  - "devicemapper":

    - CONFIG_BLK_DEV_DM: enabled

    - CONFIG_DM_THIN_PROVISIONING: missing

  - "overlay":

    - CONFIG_OVERLAY_FS: missing

  - "zfs":

    - /dev/zfs: missing

    - zfs command: missing

    - zpool command: missing

 

Limits:

- /proc/sys/kernel/keys/root_maxkeys: 1000000

 

 

 


anders@orangepi1:~/bin$ uname -a

Linux orangepi1 3.4.112-sun8i #8 SMP PREEMPT Tue May 31 19:00:17 CEST 2016 armv7l GNU/Linux

 


 

anders@orangepi1:~/bin$ uname -a

Linux orangepi1 3.4.112-sun8i #8 SMP PREEMPT Tue May 31 19:00:17 CEST 2016 armv7l GNU/Linux

 

anders@orangepi1:~/bin$ dpkg -l | grep orange

ii  linux-jessie-root-orangepih3    5.11                      armhf        Root file system tweaks for orangepih3

ii  linux-u-boot-orangepih3-default 5.11                      armhf        Uboot loader 2016.05

 

anders@orangepi1:~/bin$ dpkg -l | grep docker

rc  docker                          1.5-1                     armhf        System tray for KDE3/GNOME2 docklet applications

iF  docker-hypriot                  1.11.1-1                  armhf        Docker: the open-source application container engine

 

Link to post
Share on other sites
Armbian is a community driven open source project. Do you like to contribute your code?

I'm doing copy/paste of the same answer posted in this other thread where the same news is posted : http://forum.armbian.com/index.php/topic/1666-mainline-moving-target/#entry13033

 

First, that pretty new, so let's the dust settle down !

Second, I don't know your knowledge about Kernel development, but you should remember that odd/even number in branches under Linux means Stable/Dev branches.

Stable 4.6.x cames out few months ago after a lot revamps in 4.5.x. This is now the Stable, and we are now using 4.6.4 in Armbian if you build your own kernel, but no image published yet since there are some stuff missing.

New 4.7.x can be interesting in a future, but it is probably NOT for you, except if you wish to become a Mainline kernel developer ... :P

 

Link to post
Share on other sites

i did a 4.6.4 kernel armbian build for my opi one yesterday. I was delighted. Ethernet worked. Docker worked after only an apt-get install. i launched a basic ubuntu xenial arm container and it held together. nothing like a 512 meg docker host

 

Tapatalk thinks its important to tell you im using tapatalk from a phone.

Link to post
Share on other sites

Dear,

I want to install docker on opi+2e

How to get docker working on it.

I have installed Armbian Xenial Server on my opi+2e

 

You'll need mainline kernel for that. Luckily, it can be easily build using the Armbian build tool: https://docs.armbian.com/Developer-Guide_Build-Preparation/

Once you're done with that, you can install Docker from the official ARM Debian Jessie repo: https://apt.dockerproject.org/repo/dists/debian-jessie/

 

That's it.

Link to post
Share on other sites

Dear,

I want to install docker on opi+2e

How to get docker working on it.

I have installed Armbian Xenial Server on my opi+2e

hi. the appropriate way is to use the armbian build tools and build your own opi 2e image with the mainline kernel. the armbian tools make it pretty easy, but still a bit of effort.

 

i highly recommend using ubuntu xenial over jessie... the docker version is much more current. ive been running docker on my 2e from an imade i made months ago and its been pretty stable. my reverse proxy is running as a container on a 2e full time. i even built x264 zoneminder as a container with success

 

Tapatalk thinks its important to tell you im using tapatalk from a phone.

Link to post
Share on other sites

hi. the appropriate way is to use the armbian build tools and build your own opi 2e image with the mainline kernel. the armbian tools make it pretty easy, but still a bit of effort.

 

i highly recommend using ubuntu xenial over jessie... the docker version is much more current. ive been running docker on my 2e from an imade i made months ago and its been pretty stable. my reverse proxy is running as a container on a 2e full time. i even built x264 zoneminder as a container with success

 

Tapatalk thinks its important to tell you im using tapatalk from a phone.

Dear,

I using opi+2e for nextcloud and I want docket for office.

Can u share ur image?

Can we update like we are updating on regular firmware?

Link to post
Share on other sites
Actually in documents it shows minimum requirement as 4gb ram,

 

Docker port for ARM is unofficial and it doesn't need 4G RAM. This is not Windows / Intel world :)

 

Check this thread for more info.

 

But there is a problem since Docker needs at least kernel 3.10 and for this board (Orange Pi 2e) we don't have stable kernel higher than 3.4.113.

 

Image with kernel 4.9.x can be built, it might even work fine, but we don't provide any support under any condition. You are on your own in case of troubles and they will pop out since this kernel is still under development.

Link to post
Share on other sites

Docker port for ARM is unofficial and it doesn't need 4G RAM. This is not Windows / Intel world :)

 

Check this thread for more info.

 

But there is a problem since Docker needs at least kernel 3.10 and for this board (Orange Pi 2e) we don't have stable kernel higher than 3.4.113.

 

Image with kernel 4.9.x can be built, it might even work fine, but we don't provide any support under any condition. You are on your own in case of troubles and they will pop out since this kernel is still under development.

R there any chance to get latest kernel officially?

 

S7edge

Link to post
Share on other sites
R there any chance to get latest kernel officially?

 

https://www.armbian.com/kernel/

https://forum.armbian.com/index.php/topic/2422-more-proper-testing-better-armbian-experience/

 

We provide even daily builds of this(all) kernel(s), but we won't hear any of pleads for help, because such service is stupid, costly, inefficient, ... supporting stable kernel is already way over for a free amateur service. Developing kernels are built daily for developers and for testing, that we are able to improve them ... and one day, when we are satisfied with quality, put them out.

 

That's the point.

Link to post
Share on other sites

If you don't mind to build your own kernel from source, you may follow this How-To. Usually the Armbian people take care of enabling the necessary Docker requirements in the kernel configuration. You may start with the plain Ubuntu Armbian flavour, it comes with Docker 1.12.2.

Don't really understand

I build image with armbian tools

I used xenial server as os and kernel 4.10.

Please guide

 

S7edge

Link to post
Share on other sites

I built mainline/Ubuntu and installed on Beelink X2 and OrangePi One. Seems to work fine with networking and docker. But what can I expect else? I guess there are problems, since the mainline image is not provided for these boards.

 

OrangePi One:

----------------------

anders@orangepi2:~$ ssh orangepi3
anders@orangepi3's password: 
  ___                               ____  _    ___             
 / _ \ _ __ __ _ _ __   __ _  ___  |  _ \(_)  / _ \ _ __   ___ 
| | | | '__/ _` | '_ \ / _` |/ _ \ | |_) | | | | | | '_ \ / _ \
| |_| | | | (_| | | | | (_| |  __/ |  __/| | | |_| | | | |  __/
 \___/|_|  \__,_|_| |_|\__, |\___| |_|   |_|  \___/|_| |_|\___|
                       |___/                                   

Welcome to ARMBIAN 5.27 stable Ubuntu 16.04.2 LTS 4.10.1-sun8i   
System load:   0.00                Up time:       4 days        
Memory usage:  18 % of 496Mb      I
CPU temp:      40°C               
Usage of /:    18% of 15G        

 

 

anders@orangepi3:~$ cpufreq-info 
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  driver: cpufreq-dt
  CPUs which run at the same hardware frequency: 0 1 2 3
  CPUs which need to have their frequency coordinated by software: 0 1 2 3
  maximum transition latency: 4.24 ms.
  hardware limits: 120 MHz - 1.01 GHz
  available frequency steps: 120 MHz, 240 MHz, 312 MHz, 480 MHz, 624 MHz, 816 MHz, 1.01 GHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance, schedutil
  current policy: frequency should be within 480 MHz and 1.01 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 480 MHz.
  cpufreq stats: 120 MHz:0.00%, 240 MHz:0.00%, 312 MHz:0.00%, 480 MHz:99.66%, 624 MHz:0.16%, 816 MHz:0.06%, 1.01 GHz:0.12%  (335)
analyzing CPU 1:
  driver: cpufreq-dt
  CPUs which run at the same hardware frequency: 0 1 2 3
  CPUs which need to have their frequency coordinated by software: 0 1 2 3
  maximum transition latency: 4.24 ms.
  hardware limits: 120 MHz - 1.01 GHz
  available frequency steps: 120 MHz, 240 MHz, 312 MHz, 480 MHz, 624 MHz, 816 MHz, 1.01 GHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance, schedutil
  current policy: frequency should be within 480 MHz and 1.01 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 480 MHz.
  cpufreq stats: 120 MHz:0.00%, 240 MHz:0.00%, 312 MHz:0.00%, 480 MHz:99.66%, 624 MHz:0.16%, 816 MHz:0.06%, 1.01 GHz:0.12%  (335)
analyzing CPU 2:
  driver: cpufreq-dt
  CPUs which run at the same hardware frequency: 0 1 2 3
  CPUs which need to have their frequency coordinated by software: 0 1 2 3
  maximum transition latency: 4.24 ms.
  hardware limits: 120 MHz - 1.01 GHz
  available frequency steps: 120 MHz, 240 MHz, 312 MHz, 480 MHz, 624 MHz, 816 MHz, 1.01 GHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance, schedutil
  current policy: frequency should be within 480 MHz and 1.01 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 480 MHz.
  cpufreq stats: 120 MHz:0.00%, 240 MHz:0.00%, 312 MHz:0.00%, 480 MHz:99.66%, 624 MHz:0.16%, 816 MHz:0.06%, 1.01 GHz:0.12%  (335)
analyzing CPU 3:
  driver: cpufreq-dt
  CPUs which run at the same hardware frequency: 0 1 2 3
  CPUs which need to have their frequency coordinated by software: 0 1 2 3
  maximum transition latency: 4.24 ms.
  hardware limits: 120 MHz - 1.01 GHz
  available frequency steps: 120 MHz, 240 MHz, 312 MHz, 480 MHz, 624 MHz, 816 MHz, 1.01 GHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance, schedutil
  current policy: frequency should be within 480 MHz and 1.01 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 480 MHz.
  cpufreq stats: 120 MHz:0.00%, 240 MHz:0.00%, 312 MHz:0.00%, 480 MHz:99.66%, 624 MHz:0.16%, 816 MHz:0.06%, 1.01 GHz:0.12%  (335)
 

anders@orangepi3:~$ cat /proc/cpuinfo
processor    : 0
model name    : ARMv7 Processor rev 5 (v7l)
BogoMIPS    : 22.85
Features    : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 
CPU implementer    : 0x41
CPU architecture: 7
CPU variant    : 0x0
CPU part    : 0xc07
CPU revision    : 5

processor    : 1
model name    : ARMv7 Processor rev 5 (v7l)
BogoMIPS    : 22.85
Features    : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 
CPU implementer    : 0x41
CPU architecture: 7
CPU variant    : 0x0
CPU part    : 0xc07
CPU revision    : 5

processor    : 2
model name    : ARMv7 Processor rev 5 (v7l)
BogoMIPS    : 22.85
Features    : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 
CPU implementer    : 0x41
CPU architecture: 7
CPU variant    : 0x0
CPU part    : 0xc07
CPU revision    : 5

processor    : 3
model name    : ARMv7 Processor rev 5 (v7l)
BogoMIPS    : 22.85
Features    : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 
CPU implementer    : 0x41
CPU architecture: 7
CPU variant    : 0x0
CPU part    : 0xc07
CPU revision    : 5

Hardware    : Allwinner sun8i Family
Revision    : 0000
Serial        : 02c00081cde2dd16
 

| __ )  ___  ___| (_)_ __ | | __ \ \/ /___ \ 
|  _ \ / _ \/ _ \ | | '_ \| |/ /  \  /  __) |
| |_) |  __/  __/ | | | | |   <   /  \ / __/ 
|____/ \___|\___|_|_|_| |_|_|\_\ /_/\_\_____|
                                             

Welcome to ARMBIAN 5.27 stable Ubuntu 16.04.2 LTS 4.10.3-sun8i   
System load:   0.00                Up time:       2 days        
Memory usage:  4 % of 1001Mb     
CPU temp:      39°C               
Usage of /:    9% of 15G        
 

anders@beelinkx2:~$ cpufreq-info 
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  no or unknown cpufreq driver is active on this CPU
  maximum transition latency: 0.00 ms.
analyzing CPU 1:
  no or unknown cpufreq driver is active on this CPU
  maximum transition latency: 0.00 ms.
analyzing CPU 2:
  no or unknown cpufreq driver is active on this CPU
  maximum transition latency: 0.00 ms.
analyzing CPU 3:
  no or unknown cpufreq driver is active on this CPU
  maximum transition latency: 0.00 ms.
 

anders@beelinkx2:~$ cat /proc/cpuinfo 
processor    : 0
model name    : ARMv7 Processor rev 5 (v7l)
BogoMIPS    : 48.00
Features    : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 
CPU implementer    : 0x41
CPU architecture: 7
CPU variant    : 0x0
CPU part    : 0xc07
CPU revision    : 5

processor    : 1
model name    : ARMv7 Processor rev 5 (v7l)
BogoMIPS    : 48.00
Features    : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 
CPU implementer    : 0x41
CPU architecture: 7
CPU variant    : 0x0
CPU part    : 0xc07
CPU revision    : 5

processor    : 2
model name    : ARMv7 Processor rev 5 (v7l)
BogoMIPS    : 48.00
Features    : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 
CPU implementer    : 0x41
CPU architecture: 7
CPU variant    : 0x0
CPU part    : 0xc07
CPU revision    : 5

processor    : 3
model name    : ARMv7 Processor rev 5 (v7l)
BogoMIPS    : 48.00
Features    : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 
CPU implementer    : 0x41
CPU architecture: 7
CPU variant    : 0x0
CPU part    : 0xc07
CPU revision    : 5

Hardware    : Allwinner sun8i Family
Revision    : 0000
Serial        : 02c00081a88c7375
 

Link to post
Share on other sites

Hi all,

I'm considering using Armbian in an Orange Pi Plus 2E and have hit a stumbling block with Docker support.

I've tested the nightly/dev build and note that it has a sufficiently new kernel to support Docker, but I'd like to know if anyone can vouch for it's stability and suitability for a product that will be deployed into the field. Can anyone advise:

- how long has the dev branch supported docker (i.e. 2 weeks or 6 months)?

- any known issues with the dev branch beyond 3d rendering / audio (my application is headless so that's ok)

- any idea when a stable mainline build will be available for the OPIPlus 2E?

 

I understand that you're all volunteering your time to make this work, so I hope this isn't seen this as a nag/feature request. I thank you all for your time and dedication in producing such a versatile and useful product. If you can help me out with any of these questions I'd be very appreciative!

Link to post
Share on other sites
Quote

how long has the dev branch supported docker (i.e. 2 weeks or 6 months)?


We start to implement Docker in late 2015. I would not worry about that, but dev branch has still some low level glitches.

 

4 hours ago, jethro said:

- any known issues with the dev branch beyond 3d rendering / audio (my application is headless so that's ok)


There will be no 3D rendering in mainline kernel for next few years / never, perhaps someday in 3rd party branch. Audio works.

 

4 hours ago, jethro said:

any idea when a stable mainline build will be available for the OPIPlus 2E?


It's stable enough, but I won't use it in production at this stage yet. Or at least do severe testing on your app, before deployment. Few months. But not withing main line exactly (www.kernel.org), since support there is still minimal, development branches within Armbian.

Link to post
Share on other sites
Just now, Igor said:

There will be no 3D rendering in mainline kernel for next few years / never, perhaps someday in 3rd party branch.

 

I think that H3 will get DRM HDMI/TVE driver in 4.13 and Icenowy already tested mali driver (x11 version), which works. So it is not so distant future, but it will take some months for sure.

Link to post
Share on other sites
  • Igor unpinned this topic
Guest
This topic is now closed to further replies.