4-docker 905 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #!/usr/bin/env bash
  2. # NAME: Install and configure Docker
  3. set -euo pipefail
  4. # Source common functions
  5. source "$(dirname "$0")/../common.sh" || {
  6. echo "[ERROR] Could not source common.sh" >&2
  7. exit 1
  8. }
  9. install_docker() {
  10. log_info "Installing Docker packages"
  11. sudo pacman -S --needed --noconfirm docker docker-compose docker-buildx
  12. }
  13. configure_docker() {
  14. log_info "Adding current user to docker group"
  15. sudo usermod -aG docker "$USER"
  16. log_info "Enabling Docker services"
  17. sudo systemctl enable docker.service
  18. sudo systemctl start docker.service
  19. sudo systemctl enable containerd.service
  20. sudo systemctl start containerd.service
  21. }
  22. main() {
  23. init_script
  24. install_docker
  25. configure_docker
  26. log_info "Docker installed successfully"
  27. log_warn "You need to log out and back in (or reboot) for group changes to take effect"
  28. log_info "Test with: docker run hello-world"
  29. finish_script 0
  30. }
  31. main "$@"