Jump to content

Docker Registry & Rootless Docker: Difference between revisions

From Haidhi Wiki
No edit summary
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 25: Line 25:
   -p 5000:5000 \
   -p 5000:5000 \
   registry:2
   registry:2
</syntaxhighlight>
Login
<syntaxhighlight lang=bash>
docker login localhost:5000
</syntaxhighlight>
Tes
<syntaxhighlight lang=bash>
curl -u <NAME>:<PASSWORD> localhost:5000/v2/_catalog
</syntaxhighlight>
= 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 ===
<syntaxhighlight lang=bash>
sudo loginctl enable-linger <user lain>
sudo apt install uidmap
sudo systemctl disable --now docker.service docker.socket
sudo rm /var/run/docker.sock
</syntaxhighlight>
=== Di User Lain ===
<syntaxhighlight lang=bash>
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
</syntaxhighlight>
=== Di root lagi ===
<syntaxhighlight lang=bash>
sudo systemctl enable --now docker.service docker.socket
</syntaxhighlight>
</syntaxhighlight>

Latest revision as of 05:27, 24 May 2025

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