2023-07-18 16:20:48 +02:00
|
|
|
#!/usr/bin/zsh
|
|
|
|
|
|
|
|
# remove old versions
|
|
|
|
sudo apt-get remove -y \
|
|
|
|
docker docker-engine \
|
|
|
|
docker.io containerd runc
|
|
|
|
|
|
|
|
|
|
|
|
# install surrounding necessities
|
|
|
|
sudo apt-get update -y
|
|
|
|
|
|
|
|
sudo apt-get install -y \
|
|
|
|
apt-transport-https \
|
|
|
|
ca-certificates \
|
|
|
|
curl \
|
|
|
|
gnupg \
|
|
|
|
lsb-release
|
|
|
|
|
2024-02-02 19:19:17 +01:00
|
|
|
# "security"
|
|
|
|
sudo apt-key adv --keyserver keyserver.ubuntu.com \
|
|
|
|
--recv-keys 7FCC7D46ACCC4CF8
|
|
|
|
sudo apt-key adv --keyserver keyserver.ubuntu.com \
|
|
|
|
--recv-keys 7EA0A9C3F273FCD8
|
|
|
|
sudo apt-key adv --keyserver keyserver.ubuntu.com \
|
|
|
|
--recv-keys 40976EAF437D05B5
|
|
|
|
sudo apt-key adv --keyserver keyserver.ubuntu.com \
|
|
|
|
--recv-keys 3B4FE6ACC0B21F32
|
|
|
|
|
2023-07-18 16:20:48 +02:00
|
|
|
|
|
|
|
# docker.com key file
|
|
|
|
curl -fsSL 'https://download.docker.com/linux/ubuntu/gpg' \
|
|
|
|
| sudo gpg --dearmor -o \
|
|
|
|
'/usr/share/keyrings/docker-archive-keyring.gpg'
|
|
|
|
|
|
|
|
|
|
|
|
# # the `lsb_release` prints linux-mint's codename
|
|
|
|
# # of which docker has no idea, so
|
|
|
|
U='UBUNTU_CODENAME='
|
|
|
|
DISTRO=`cat '/etc/os-release' | grep "$U"`
|
|
|
|
if [ ! -z "$DISTRO" ]; then
|
|
|
|
DISTRO="${DISTRO/$U/}"
|
|
|
|
else
|
|
|
|
DISTRO=`lsb_release -cs`
|
|
|
|
fi
|
|
|
|
echo "DISTRO: '$DISTRO'"
|
|
|
|
|
|
|
|
# add docker apt
|
|
|
|
echo "
|
|
|
|
deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] \
|
|
|
|
https://download.docker.com/linux/ubuntu \
|
|
|
|
$DISTRO stable \
|
|
|
|
" | sudo tee /etc/apt/sources.list.d/docker.list
|
|
|
|
|
|
|
|
|
|
|
|
# update sources
|
2024-02-02 19:19:17 +01:00
|
|
|
sudo apt-get update -y
|
2023-07-18 16:20:48 +02:00
|
|
|
|
|
|
|
# check avaliable versions
|
2024-02-02 19:19:17 +01:00
|
|
|
sudo apt-cache \
|
|
|
|
madison docker
|
2023-07-18 16:20:48 +02:00
|
|
|
|
|
|
|
# install docker
|
2024-02-02 19:19:17 +01:00
|
|
|
sudo apt-get install -y \
|
|
|
|
docker docker-compose
|
2023-07-18 16:20:48 +02:00
|
|
|
|
|
|
|
|
|
|
|
# manage rootless
|
|
|
|
sudo groupadd docker
|
|
|
|
sudo usermod -aG docker $USER
|
|
|
|
# logout from command line (open new terminal tab/window)
|
|
|
|
newgrp docker
|
|
|
|
docker run hello-world
|
|
|
|
|
|
|
|
# ubuntu desktop
|
|
|
|
curl https://desktop-stage.docker.com/linux/main/amd64/77103/docker-desktop.deb --output docker-desktop.deb
|
|
|
|
sudo apt install ./docker-desktop.deb
|
|
|
|
systemctl --user start docker-desktop
|
|
|
|
|
|
|
|
|
|
|
|
# image of OSX
|
|
|
|
# 40GB disk space required: 20GB original image 20GB your container.
|
|
|
|
docker pull sickcodes/docker-osx:auto
|
|
|
|
|
|
|
|
# boot directly into a real OS X shell with a visual display [NOT HEADLESS]
|
|
|
|
docker run -it \
|
|
|
|
--device /dev/kvm \
|
|
|
|
-p 50922:10022 \
|
|
|
|
-v /tmp/.X11-unix:/tmp/.X11-unix \
|
|
|
|
-e "DISPLAY=${DISPLAY:-:0.0}" \
|
|
|
|
-e GENERATE_UNIQUE=true \
|
|
|
|
sickcodes/docker-osx:auto
|
|
|
|
|
|
|
|
# username is user
|
|
|
|
# passsword is alpine
|