Running Docker on roc-rk3328-cc

pdfpdf
edited June 19 in ROC-RK3328-CC

I've built a custom kernel containing all the prerequisite kernel config options necessary to run docker containers.

I used the procedures outlined here (to build a kernel);
http://wiki.t-firefly.com/ROC-RK3328-CC/linux_compile_firmware.html

And a variation of the procedures here (to build an Ubuntu 18.04 rootfs);
http://wiki.t-firefly.com/ROC-RK3328-CC/linux_build_rootfilesystem.html#building-ubuntu-root-filesystem

Getting all the kernel CONFIG_xxxx options was a tedious task.
If others out there wanna a copy of my kernel configs, I put mine here;
https://gist.github.com/pdfruth/b3546f3d01660d3525b31a5a5247dd97

To use it;

  • Git clone the kernel source
  • Download the content of the above mentioned kernel config. Save it to a file.
  • Then copy it to arch/arm64/configs/fireflyrk3328_linux_defconfig in the kernel directory structure
  • Compile your kernel
  • Copy the new kernel Image and rk3328-roc-cc.dtb files over to the board (they live in the /dev/mmcblk1p4 partition on my eMMC)
  • Reboot
  • Profit

So far, I've only run a few Docker images (ie. hello-world, nginx), but they seem to be working well.

Docker version output:

Client:
Version: 18.05.0-ce
API version: 1.37
Go version: go1.9.5
Git commit: f150324
Built: Wed May 9 22:10:21 2018
OS/Arch: linux/arm64
Experimental: false
Orchestrator: swarm

Server:
Engine:
Version: 18.05.0-ce
API version: 1.37 (minimum version 1.12)
Go version: go1.9.5
Git commit: f150324
Built: Wed May 9 22:08:19 2018
OS/Arch: linux/arm64
Experimental: false

Docker info output:

Containers: 2
Running: 0
Paused: 0
Stopped: 2
Images: 2
Server Version: 18.05.0-ce
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 773c489c9c1b21a6d78b5c538cd395416ec50f88
runc version: 4fc53a81fb7c994640722ac585fa9ca548971871
init version: 949e6fa
Security Options:
seccomp
Profile: default
Kernel Version: 4.4.114
Operating System: Ubuntu 18.04 LTS
OSType: linux
Architecture: aarch64
CPUs: 4
Total Memory: 3.833GiB
Name: renegade
ID: UW4H:RKKE:SWUK:7A6N:6UCI:374Y:M2OS:FW35:J66X:CXMB:UCB6:F347
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false

PS. I installed Docker CE 18.05 by manually downloading and installing.
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh

See -> https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-using-the-convenience-script

Comments

  • Hi

    Thanks for sharing the information. My roc-rk3328-cc board is on its way. And I'm planning to run docker engine on it.

    I'm trying to build uboot, kernel myself following your configuration. However, when I build kernel, I keep get error complaining it failed to build net/wireless/realtek or something. I'm wondering how did you compile it?

    I'm doing build on ubuntu 18.04 btw.

    Thanks

Sign In or Register to comment.