portainer-devtool/go/tasks/install_docker.go

57 lines
1.3 KiB
Go

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 <instance name>
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"
}