From f5406768ed9a4966a7c7141cadf6e66357b5b3ec Mon Sep 17 00:00:00 2001 From: Thedro Neely Date: Fri, 31 Jan 2020 17:31:10 -0500 Subject: roles/lxc-docker-alpine/main.yml: Move --- roles/docker/alpine.yml | 39 +++++++++++++++++++++ roles/docker/files/1-cgroup-docker.start | 20 +++++++++++ .../lxc-docker-alpine/files/1-cgroup-docker.start | 20 ----------- roles/lxc-docker-alpine/main.yml | 40 ---------------------- 4 files changed, 59 insertions(+), 60 deletions(-) create mode 100644 roles/docker/alpine.yml create mode 100644 roles/docker/files/1-cgroup-docker.start delete mode 100644 roles/lxc-docker-alpine/files/1-cgroup-docker.start delete mode 100644 roles/lxc-docker-alpine/main.yml diff --git a/roles/docker/alpine.yml b/roles/docker/alpine.yml new file mode 100644 index 0000000..98160a0 --- /dev/null +++ b/roles/docker/alpine.yml @@ -0,0 +1,39 @@ +--- +# Hosts: debian, arch +- name: Install Docker on Alpine LXC Container + hosts: docker_alpine_lxc + + tasks: + + - name: Installing Docker + apk: + state: present + update_cache: yes + name: + - docker + - docker-py + + - name: Ensuring Docker has been started + service: + name: docker + state: started + enabled: yes + + - name: Copying cgroups mount script to local.d + copy: + src: 1-cgroup-docker.start + dest: /etc/local.d/1-cgroup-docker.start + mode: '0700' + + - name: Ensuring local service has been started + service: + name: local + state: started + enabled: yes + + - name: Running hello world test + shell: docker run hello-world && touch /tmp/.docker-success + register: output + args: + creates: /tmp/.docker-success + - debug: var=output diff --git a/roles/docker/files/1-cgroup-docker.start b/roles/docker/files/1-cgroup-docker.start new file mode 100644 index 0000000..15c2172 --- /dev/null +++ b/roles/docker/files/1-cgroup-docker.start @@ -0,0 +1,20 @@ +# https://forum.proxmox.com/threads/docker-daemon-running-in-alpine-container-solved.58999/ + +# remove dirs for failed mounts +rmdir /sys/fs/cgroup/cpu && rmdir /sys/fs/cgroup/cpuacct && rmdir /sys/fs/cgroup/net_cls && rmdir /sys/fs/cgroup/net_prio + +# mount missing cgroups (Ubuntu style) +mkdir "/sys/fs/cgroup/cpu,cpuacct" +mount -n -t cgroup -o "nodev,noexec,nosuid,cpu,cpuacct" "cpu,cpuacct" "/sys/fs/cgroup/cpu,cpuacct" +ln -s "cpu,cpuacct" /sys/fs/cgroup/cpu +ln -s "cpu,cpuacct" /sys/fs/cgroup/cpuacct + +mkdir "/sys/fs/cgroup/net_cls,net_prio" +mount -n -t cgroup -o "nodev,noexec,nosuid,net_cls,net_prio" "net_cls,net_prio" "/sys/fs/cgroup/net_cls,net_prio" +ln -s "net_cls,net_prio" /sys/fs/cgroup/net_cls +ln -s "net_cls,net_prio" /sys/fs/cgroup/net_prio + +# mount systemd cgroup (Alpine mounts openrc, but Docker requires systemd...) +# (based on hint at https://k9s.hatenablog.jp/entry/2019/06/16/075741) +mkdir /sys/fs/cgroup/systemd +mount -n -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd diff --git a/roles/lxc-docker-alpine/files/1-cgroup-docker.start b/roles/lxc-docker-alpine/files/1-cgroup-docker.start deleted file mode 100644 index 15c2172..0000000 --- a/roles/lxc-docker-alpine/files/1-cgroup-docker.start +++ /dev/null @@ -1,20 +0,0 @@ -# https://forum.proxmox.com/threads/docker-daemon-running-in-alpine-container-solved.58999/ - -# remove dirs for failed mounts -rmdir /sys/fs/cgroup/cpu && rmdir /sys/fs/cgroup/cpuacct && rmdir /sys/fs/cgroup/net_cls && rmdir /sys/fs/cgroup/net_prio - -# mount missing cgroups (Ubuntu style) -mkdir "/sys/fs/cgroup/cpu,cpuacct" -mount -n -t cgroup -o "nodev,noexec,nosuid,cpu,cpuacct" "cpu,cpuacct" "/sys/fs/cgroup/cpu,cpuacct" -ln -s "cpu,cpuacct" /sys/fs/cgroup/cpu -ln -s "cpu,cpuacct" /sys/fs/cgroup/cpuacct - -mkdir "/sys/fs/cgroup/net_cls,net_prio" -mount -n -t cgroup -o "nodev,noexec,nosuid,net_cls,net_prio" "net_cls,net_prio" "/sys/fs/cgroup/net_cls,net_prio" -ln -s "net_cls,net_prio" /sys/fs/cgroup/net_cls -ln -s "net_cls,net_prio" /sys/fs/cgroup/net_prio - -# mount systemd cgroup (Alpine mounts openrc, but Docker requires systemd...) -# (based on hint at https://k9s.hatenablog.jp/entry/2019/06/16/075741) -mkdir /sys/fs/cgroup/systemd -mount -n -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd diff --git a/roles/lxc-docker-alpine/main.yml b/roles/lxc-docker-alpine/main.yml deleted file mode 100644 index f0b646d..0000000 --- a/roles/lxc-docker-alpine/main.yml +++ /dev/null @@ -1,40 +0,0 @@ ---- -# Target: alpine3.10 -# Host: debian, arch -- name: Install Docker on Alpine LXC Container - hosts: docker_alpine_lxc - - tasks: - - - name: Installing Docker - apk: - state: present - update_cache: yes - name: - - docker - - docker-py - - - name: Ensuring Docker has been started - service: - name: docker - state: started - enabled: yes - - - name: Copying cgroups mount script to local.d - copy: - src: 1-cgroup-docker.start - dest: /etc/local.d/1-cgroup-docker.start - mode: '0700' - - - name: Ensuring local service has been started - service: - name: local - state: started - enabled: yes - - - name: Running hello world test - shell: docker run hello-world && touch /tmp/.docker-success - register: output - args: - creates: /tmp/.docker-success - - debug: var=output -- cgit v1.2.3