Jump to content

Docker Registry & Rootless Docker

From Haidhi Wiki
sudo apt update
sudo apt install apache2-utils

Buat direktori untuk simpen credential & Config lain

mkdir -p ~/my-registry/{auth,data,certs}
cd ~/my-registry

Buat password file

htpasswd -bnB <NAME> <PASSWORD> > auth/htpasswd

Run Registry

docker run -d \
  --restart=always \
  --name my-registry \
  -v `pwd`/data:/var/lib/registry \
  -v `pwd`/auth:/auth \
  -e "REGISTRY_AUTH=htpasswd" \
  -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
  -e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" \
  -p 5000:5000 \
  registry:2

Login

docker login localhost:5000

Tes

curl -u <NAME>:<PASSWORD> localhost:5000/v2/_catalog

Rootless Docker

Tujuan rootless docker di sini agar setiap daemon antar user terisolasi. Misal UserA gak akan bisa liat docker UserB, dan sebaliknya

Di Root

sudo loginctl enable-linger <user lain>
sudo apt install uidmap
sudo systemctl disable --now docker.service docker.socket
sudo rm /var/run/docker.sock

Di User Lain

dockerd-rootless-setuptool.sh install
export PATH=/usr/bin:$PATH
export DOCKER_HOST=unix:///run/user/1000/docker.sock
systemctl --user start docker
systemctl --user enable docker
docker run -d -p 8080:80 nginx

Di root lagi

sudo systemctl enable --now docker.service docker.socket