diff options
author | Thedro Neely <thedroneely@gmail.com> | 2020-03-23 16:42:44 -0400 |
---|---|---|
committer | Thedro Neely <thedroneely@gmail.com> | 2020-03-23 16:42:44 -0400 |
commit | 1db40cdf9cb25b446ffd15dfd1e3e6f178ae2257 (patch) | |
tree | ad9c096f756250feddc9d65e9a8b95234f13195c /roles/common | |
parent | 93c8aa558ed74a6e2f274114386268c35b100824 (diff) | |
download | playbooks-1db40cdf9cb25b446ffd15dfd1e3e6f178ae2257.tar.gz playbooks-1db40cdf9cb25b446ffd15dfd1e3e6f178ae2257.tar.bz2 playbooks-1db40cdf9cb25b446ffd15dfd1e3e6f178ae2257.zip |
tasks/docker: Move alpine bootstrap to common tasks
Diffstat (limited to 'roles/common')
-rw-r--r-- | roles/common/files/1-cgroup-docker.start | 20 | ||||
-rw-r--r-- | roles/common/tasks/docker/alpine.yml | 31 |
2 files changed, 51 insertions, 0 deletions
diff --git a/roles/common/files/1-cgroup-docker.start b/roles/common/files/1-cgroup-docker.start new file mode 100644 index 0000000..15c2172 --- /dev/null +++ b/roles/common/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/common/tasks/docker/alpine.yml b/roles/common/tasks/docker/alpine.yml new file mode 100644 index 0000000..ce759a4 --- /dev/null +++ b/roles/common/tasks/docker/alpine.yml @@ -0,0 +1,31 @@ +--- +- 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: ../../../common/files/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 + docker_container: + name: hello-world + image: hello-world |