diff options
author | Thedro Neely <thedroneely@gmail.com> | 2019-12-21 23:45:44 -0500 |
---|---|---|
committer | Thedro Neely <thedroneely@gmail.com> | 2019-12-21 23:45:44 -0500 |
commit | 2bb2c78242001dd3139b965845e9004ada3b9e3c (patch) | |
tree | 0314e4ba8e50486eee7c0e93d5ad0d0376de9332 /roles | |
parent | ec4ac35ea6835d8a5942e641675c082001da3f84 (diff) | |
download | playbooks-2bb2c78242001dd3139b965845e9004ada3b9e3c.tar.gz playbooks-2bb2c78242001dd3139b965845e9004ada3b9e3c.tar.bz2 playbooks-2bb2c78242001dd3139b965845e9004ada3b9e3c.zip |
roles/lxc-docker-alpine: Add playbook
Diffstat (limited to 'roles')
-rw-r--r-- | roles/lxc-docker-alpine/files/1-cgroup-docker.start | 20 | ||||
-rw-r--r-- | roles/lxc-docker-alpine/main.yml | 34 |
2 files changed, 54 insertions, 0 deletions
diff --git a/roles/lxc-docker-alpine/files/1-cgroup-docker.start b/roles/lxc-docker-alpine/files/1-cgroup-docker.start new file mode 100644 index 0000000..15c2172 --- /dev/null +++ b/roles/lxc-docker-alpine/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/main.yml b/roles/lxc-docker-alpine/main.yml new file mode 100644 index 0000000..0032397 --- /dev/null +++ b/roles/lxc-docker-alpine/main.yml @@ -0,0 +1,34 @@ +--- +# Target: alpine3.10 +# Host: debian arch +- name: Install Docker on Alpine LXC Container (Debian Host) + hosts: lxc_docker_alpine + 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
\ No newline at end of file |