package tasks import ( "ocl/portainer-devtool/tasks/common" "ocl/portainer-devtool/utils" ) type InstallDockerTask struct { ParentTasks []common.Tasker } func NewInstallDockerTask() *InstallDockerTask { return &InstallDockerTask{} } func (task *InstallDockerTask) Execute() error { utils.SuccessPrint(` sudo apt-get update sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin ------------------- sudo apt install docker.io ------------------- sudo groupadd docker sudo usermod -aG docker $USER multipass list multipass shell sudo passwd ubuntu newgrp docker `) return nil } func (task *InstallDockerTask) SetParentTaskers(tasks []common.Tasker) { task.ParentTasks = tasks } func (task *InstallDockerTask) String() string { return "Install Docker Binary" }