Skip to content

Instantly share code, notes, and snippets.

@higebu
Last active March 18, 2018 14:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save higebu/4785106e40e6129cc3af9fc110712533 to your computer and use it in GitHub Desktop.
Save higebu/4785106e40e6129cc3af9fc110712533 to your computer and use it in GitHub Desktop.
Install Docker to VyOS 1.2 (not work)
-- Logs begin at Wed 2018-03-07 12:33:34 UTC, end at Wed 2018-03-07 12:44:44 UTC. --
Mar 07 12:43:59 vyos systemd[1]: [/lib/systemd/system/docker.service:25] Unknown lvalue 'Delegate' in section 'Service'
Mar 07 12:43:59 vyos systemd[1]: [/lib/systemd/system/docker.service:25] Unknown lvalue 'Delegate' in section 'Service'
Mar 07 12:43:59 vyos systemd[1]: [/lib/systemd/system/docker.service:25] Unknown lvalue 'Delegate' in section 'Service'
Mar 07 12:43:59 vyos systemd[1]: [/lib/systemd/system/docker.service:25] Unknown lvalue 'Delegate' in section 'Service'
Mar 07 12:43:59 vyos systemd[1]: Starting Docker Application Container Engine...
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59.779655832Z" level=info msg="libcontainerd: started new docker-containerd process" pid=4974
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59Z" level=info msg="starting containerd" module=containerd revision=9b55aab90508bd389d7654c4baf173a981477d55 version=v1.0.1
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59Z" level=info msg="loading plugin "io.containerd.content.v1.content"..." module=containerd type=io.containerd.content.v1
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59Z" level=info msg="loading plugin "io.containerd.snapshotter.v1.btrfs"..." module=containerd type=io.containerd.snapshotter.v1
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59Z" level=warning msg="failed to load plugin io.containerd.snapshotter.v1.btrfs" error="path /var/lib/docker/containerd/daemon/io.containerd.snapshotter.v1.btrfs must be a btrfs filesystem to be used with the btrfs snapshotter" module=containerd
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59Z" level=info msg="loading plugin "io.containerd.snapshotter.v1.overlayfs"..." module=containerd type=io.containerd.snapshotter.v1
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59Z" level=info msg="loading plugin "io.containerd.metadata.v1.bolt"..." module=containerd type=io.containerd.metadata.v1
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59Z" level=warning msg="could not use snapshotter btrfs in metadata plugin" error="path /var/lib/docker/containerd/daemon/io.containerd.snapshotter.v1.btrfs must be a btrfs filesystem to be used with the btrfs snapshotter" module="containerd/io.containerd.metadata.v1.bolt"
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59Z" level=info msg="loading plugin "io.containerd.differ.v1.walking"..." module=containerd type=io.containerd.differ.v1
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59Z" level=info msg="loading plugin "io.containerd.gc.v1.scheduler"..." module=containerd type=io.containerd.gc.v1
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59Z" level=info msg="loading plugin "io.containerd.grpc.v1.containers"..." module=containerd type=io.containerd.grpc.v1
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59Z" level=info msg="loading plugin "io.containerd.grpc.v1.content"..." module=containerd type=io.containerd.grpc.v1
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59Z" level=info msg="loading plugin "io.containerd.grpc.v1.diff"..." module=containerd type=io.containerd.grpc.v1
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59Z" level=info msg="loading plugin "io.containerd.grpc.v1.events"..." module=containerd type=io.containerd.grpc.v1
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59Z" level=info msg="loading plugin "io.containerd.grpc.v1.healthcheck"..." module=containerd type=io.containerd.grpc.v1
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59Z" level=info msg="loading plugin "io.containerd.grpc.v1.images"..." module=containerd type=io.containerd.grpc.v1
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59Z" level=info msg="loading plugin "io.containerd.grpc.v1.leases"..." module=containerd type=io.containerd.grpc.v1
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59Z" level=info msg="loading plugin "io.containerd.grpc.v1.namespaces"..." module=containerd type=io.containerd.grpc.v1
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59Z" level=info msg="loading plugin "io.containerd.grpc.v1.snapshots"..." module=containerd type=io.containerd.grpc.v1
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59Z" level=info msg="loading plugin "io.containerd.monitor.v1.cgroups"..." module=containerd type=io.containerd.monitor.v1
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59Z" level=info msg="loading plugin "io.containerd.runtime.v1.linux"..." module=containerd type=io.containerd.runtime.v1
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59Z" level=info msg="loading plugin "io.containerd.grpc.v1.tasks"..." module=containerd type=io.containerd.grpc.v1
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59Z" level=info msg="loading plugin "io.containerd.grpc.v1.version"..." module=containerd type=io.containerd.grpc.v1
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59Z" level=info msg="loading plugin "io.containerd.grpc.v1.introspection"..." module=containerd type=io.containerd.grpc.v1
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59Z" level=info msg=serving... address="/var/run/docker/containerd/docker-containerd-debug.sock" module="containerd/debug"
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59Z" level=info msg=serving... address="/var/run/docker/containerd/docker-containerd.sock" module="containerd/grpc"
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59Z" level=info msg="containerd successfully booted in 0.039916s" module=containerd
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59.879936858Z" level=error msg="'overlay2' is not supported over overlayfs"
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59.881266011Z" level=error msg="'overlay' is not supported over overlayfs"
Mar 07 12:43:59 vyos dockerd[4970]: time="2018-03-07T12:43:59.994230128Z" level=warning msg="devmapper: Usage of loopback devices is strongly discouraged for production use. Please use `--storage-opt dm.thinpooldev` or use `man dockerd` to refer to dm.thinpooldev section."
Mar 07 12:44:00 vyos dockerd[4970]: time="2018-03-07T12:44:00.046219560Z" level=warning msg="devmapper: XFS is not supported in your system (exec: \"mkfs.xfs\": executable file not found in $PATH). Defaulting to ext4 filesystem"
Mar 07 12:44:00 vyos dockerd[4970]: time="2018-03-07T12:44:00.054181645Z" level=info msg="devmapper: Creating filesystem ext4 on device docker-0:20-30564-base, mkfs args: [/dev/mapper/docker-0:20-30564-base]"
Mar 07 12:44:01 vyos dockerd[4970]: time="2018-03-07T12:44:01.159698287Z" level=info msg="devmapper: Successfully created filesystem ext4 on device docker-0:20-30564-base"
Mar 07 12:44:01 vyos dockerd[4970]: time="2018-03-07T12:44:01.273343719Z" level=info msg="Graph migration to content-addressability took 0.00 seconds"
Mar 07 12:44:01 vyos dockerd[4970]: time="2018-03-07T12:44:01.274422482Z" level=warning msg="Your kernel does not support cgroup memory limit"
Mar 07 12:44:01 vyos dockerd[4970]: time="2018-03-07T12:44:01.275084928Z" level=warning msg="Your kernel does not support cgroup cfs period"
Mar 07 12:44:01 vyos dockerd[4970]: time="2018-03-07T12:44:01.275542510Z" level=warning msg="Your kernel does not support cgroup cfs quotas"
Mar 07 12:44:01 vyos dockerd[4970]: time="2018-03-07T12:44:01.276093346Z" level=warning msg="Unable to find blkio cgroup in mounts"
Mar 07 12:44:01 vyos dockerd[4970]: time="2018-03-07T12:44:01.276836829Z" level=warning msg="mountpoint for pids not found"
Mar 07 12:44:01 vyos dockerd[4970]: Error starting daemon: Devices cgroup isn't mounted
Mar 07 12:44:01 vyos systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE
Mar 07 12:44:01 vyos systemd[1]: Failed to start Docker Application Container Engine.
Mar 07 12:44:01 vyos systemd[1]: Unit docker.service entered failed state.
Mar 07 12:44:01 vyos systemd[1]: docker.service holdoff time over, scheduling restart.
Mar 07 12:44:01 vyos systemd[1]: Stopping Docker Application Container Engine...
conf
set system package repository jessie components 'main contrib non-free'
set system package repository jessie distribution jessie
set system package repository jessie url 'http://deb.debian.org/debian'
commit
save
exit
sudo apt update

https://docs.docker.com/install/linux/docker-ce/debian/

sudo apt-get install \
     apt-transport-https \
     ca-certificates \
     curl \
     gnupg2 \
     software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian jessie stable"
sudo apt-get update
sudo apt-get install docker-ce
conf
set system package repository docker components stable
set system package repository docker distribution jessie
set system package repository docker url https://download.docker.com/linux/debian
commit
save
set system login user vyos group docker
@higebu
Copy link
Author

higebu commented Mar 10, 2018

Docker

https://github.com/moby/moby/blob/master/contrib/check-config.sh

root@vyos:~# ./check-config.sh 
warning: /proc/config.gz does not exist, searching other paths for kernel config ...
info: reading kernel config from /boot/config-4.4.47-amd64-vyos ...

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: missing
- CONFIG_CGROUP_DEVICE: missing
- CONFIG_CGROUP_FREEZER: missing
- CONFIG_CGROUP_SCHED: enabled
- CONFIG_CPUSETS: enabled
- CONFIG_MEMCG: missing
- CONFIG_KEYS: enabled
- CONFIG_VETH: enabled (as module)
- 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: enabled (as module)
- CONFIG_NETFILTER_XT_MATCH_CONNTRACK: enabled (as module)
- CONFIG_NETFILTER_XT_MATCH_IPVS: enabled (as module)
- CONFIG_IP_NF_NAT: enabled (as module)
- CONFIG_NF_NAT: enabled (as module)
- CONFIG_NF_NAT_NEEDED: enabled
- CONFIG_POSIX_MQUEUE: enabled
- CONFIG_DEVPTS_MULTIPLE_INSTANCES: missing

Optional Features:
- CONFIG_USER_NS: enabled
- CONFIG_SECCOMP: enabled
- CONFIG_CGROUP_PIDS: missing
- CONFIG_MEMCG_SWAP: missing
- CONFIG_MEMCG_SWAP_ENABLED: missing
- CONFIG_LEGACY_VSYSCALL_EMULATE: enabled
- CONFIG_MEMCG_KMEM: missing
- CONFIG_BLK_CGROUP: missing
- CONFIG_BLK_DEV_THROTTLING: missing
- CONFIG_IOSCHED_CFQ: enabled
- CONFIG_CFQ_GROUP_IOSCHED: missing
- CONFIG_CGROUP_PERF: missing
- CONFIG_CGROUP_HUGETLB: missing
- CONFIG_NET_CLS_CGROUP: missing
- CONFIG_CGROUP_NET_PRIO: enabled
- CONFIG_CFS_BANDWIDTH: missing
- CONFIG_FAIR_GROUP_SCHED: enabled
- CONFIG_RT_GROUP_SCHED: enabled
- CONFIG_IP_VS: enabled (as module)
- CONFIG_IP_VS_NFCT: enabled
- CONFIG_IP_VS_RR: enabled (as module)
- CONFIG_EXT3_FS: enabled
- CONFIG_EXT3_FS_XATTR: missing
- CONFIG_EXT3_FS_POSIX_ACL: enabled
- CONFIG_EXT3_FS_SECURITY: enabled

- CONFIG_EXT4_FS: enabled
- CONFIG_EXT4_FS_POSIX_ACL: enabled
- CONFIG_EXT4_FS_SECURITY: enabled
- Network Drivers:
  - "overlay":
    - CONFIG_VXLAN: enabled (as module)
      Optional (for encrypted networks):
      - CONFIG_CRYPTO: enabled
      - CONFIG_CRYPTO_AEAD: enabled
      - 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)
  - "ipvlan":
    - CONFIG_IPVLAN: missing
  - "macvlan":
    - CONFIG_MACVLAN: enabled (as module)
    - CONFIG_DUMMY: enabled (as module)
  - "ftp,tftp client in container":
    - CONFIG_NF_NAT_FTP: enabled (as module)
    - CONFIG_NF_CONNTRACK_FTP: enabled (as module)
    - CONFIG_NF_NAT_TFTP: enabled (as module)
    - CONFIG_NF_CONNTRACK_TFTP: enabled (as module)
- Storage Drivers:
  - "aufs":
    - CONFIG_AUFS_FS: missing
  - "btrfs":
    - CONFIG_BTRFS_FS: enabled (as module)
    - CONFIG_BTRFS_FS_POSIX_ACL: enabled
  - "devicemapper":
    - CONFIG_BLK_DEV_DM: enabled (as module)
    - CONFIG_DM_THIN_PROVISIONING: enabled (as module)
  - "overlay":
    - CONFIG_OVERLAY_FS: enabled
  - "zfs":
    - /dev/zfs: missing
    - zfs command: missing
    - zpool command: missing

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

@higebu
Copy link
Author

higebu commented Mar 10, 2018

lxc

apt install lxc
root@vyos:~# lxc-checkconfig
Kernel configuration not found at /proc/config.gz; searching...
Kernel configuration found at /boot/config-4.4.47-amd64-vyos
--- Namespaces ---
Namespaces: enabled
Utsname namespace: enabled
Ipc namespace: enabled
Pid namespace: enabled
User namespace: enabled
Network namespace: enabled
Multiple /dev/pts instances: missing

--- Control groups ---
Cgroup: enabled
Cgroup clone_children flag: enabled
Cgroup device: missing
Cgroup sched: enabled
Cgroup cpu account: missing
Cgroup memory controller: missing
Cgroup cpuset: enabled

--- Misc ---
Veth pair device: enabled
Macvlan: enabled
Vlan: enabled
File capabilities: enabled

Note : Before booting a new kernel, you can check its configuration
usage : CONFIG=/path/to/config /usr/bin/lxc-checkconfig

@higebu
Copy link
Author

higebu commented Mar 11, 2018

runc

https://github.com/opencontainers/runc/blob/master/script/check-config.sh

root@vyos:~# ./check-config.sh
info: no config specified, searching for kernel config ...
info: reading kernel config from /boot/config-4.4.47-amd64-vyos ...

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: missing
- CONFIG_CGROUP_DEVICE: missing
- CONFIG_CGROUP_FREEZER: missing
- 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 (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: 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: enabled
- CONFIG_CGROUP_PIDS: missing
- CONFIG_MEMCG_SWAP: missing
- CONFIG_MEMCG_SWAP_ENABLED: missing
- CONFIG_MEMCG_KMEM: missing
- CONFIG_BLK_CGROUP: missing
- CONFIG_BLK_DEV_THROTTLING: missing
- CONFIG_IOSCHED_CFQ: enabled
- CONFIG_CFQ_GROUP_IOSCHED: missing
- CONFIG_CGROUP_PERF: missing
- CONFIG_CGROUP_HUGETLB: missing
- CONFIG_NET_CLS_CGROUP: missing
- CONFIG_CGROUP_NET_PRIO: enabled
- CONFIG_CFS_BANDWIDTH: missing
- CONFIG_FAIR_GROUP_SCHED: enabled
- CONFIG_RT_GROUP_SCHED: enabled

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment