ansible/install-docker.yml
Rama main · réplica de lectura del repositorio original.
---
- hosts: localhost
become: true
vars:
docker_edition: 'ce'
docker_package_state: present
docker_service_state: started
docker_service_enabled: true
docker_restart_handler_state: restarted
docker_install_compose_plugin: true
docker_compose_package: docker-compose-plugin
docker_compose_package_state: present
# Fallback chain: USER -> SUDO_USER -> ansible detected user
docker_users:
- "{{ lookup('env', 'USER') | default(lookup('env', 'SUDO_USER'), true) | default(ansible_user_id, true) }}"
roles:
- geerlingguy.docker
tasks:
# https://code.visualstudio.com/docs/setup/linux#_visual-studio-code-is-unable-to-watch-for-file-changes-in-this-large-workspace-error-enospc
- name: Set fs.inotify.max_user_watches
sysctl:
name: fs.inotify.max_user_watches
value: '524288'
sysctl_file: /etc/sysctl.conf
- name: Set net.core.somaxconn
sysctl:
name: net.core.somaxconn
value: '1024'
sysctl_file: /etc/sysctl.conf
- name: Set vm.max_map_count
sysctl:
name: vm.max_map_count
value: '262144'
sysctl_file: /etc/sysctl.conf
- name: Set vm.overcommit_memory
sysctl:
name: vm.overcommit_memory
value: '1'
sysctl_file: /etc/sysctl.conf
- name: Set vm.swappiness
sysctl:
name: vm.swappiness
value: '1'
sysctl_file: /etc/sysctl.conf
- name: Create disable-hugepages.service file
ansible.builtin.copy:
content: |
[Unit]
Description=Disable Transparent Hugepage
Before=docker.service
[Service]
Type=oneshot
ExecStart=/bin/bash -c 'echo never > /sys/kernel/mm/transparent_hugepage/enabled'
ExecStart=/bin/bash -c 'echo never > /sys/kernel/mm/transparent_hugepage/defrag'
[Install]
RequiredBy=docker.service
dest: /etc/systemd/system/disable-hugepages.service
mode: '0644'
notify: Reload systemd
- name: Enable and start disable-hugepages.service
ansible.builtin.systemd:
name: disable-hugepages
enabled: true
state: started
daemon_reload: true
handlers:
- name: Reload systemd
ansible.builtin.systemd:
daemon_reload: true