57 lines
1.3 KiB
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"
|
||
|
}
|