搭建私人 docker hub
# 搭建私人 docker hub
# 参考
- Creating a Private Local Docker Registry using Play with Docker (opens new window)
- How To Set Up a Private Docker Registry on Ubuntu 20.04 (opens new window)
# docker hub 运行
mkdir ~/docker-registry
cd ~/docker-registry
mkdir data
vim docker-compose.yml
1
2
3
4
2
3
4
version: '3'
services:
registry:
container_name: registry
image: registry
restart: always
ports:
- "5000:5000"
environment:
REGISTRY_AUTH: htpasswd # For auth add
REGISTRY_AUTH_HTPASSWD_REALM: Registry # For auth add
REGISTRY_AUTH_HTPASSWD_PATH: /auth/registry.password # For auth add
REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY: /data
volumes:
- /data/docker/data:/data
- /data/docker/auth:/auth
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 鉴权
sudo apt install apache2-utils -y
mkdir /data/docker/auth
cd /data/docker/auth
htpasswd -Bc registry.password username
1
2
3
4
2
3
4
如果不加鉴权 把 For auth add 的三行注释掉
启动服务 docker-compose up
# 上传
# 无鉴权可以不登录
docker login localhost:5000/
docker tag xxx/test-image localhost:5000/test-image
docker push localhost:5000/test-image
docker login https://your_domain
docker push your_domain/test-image
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 下载
# 无鉴权可以不登录
docker login localhost:5000/
docker pull localhost:5000/test-image
docker login https://your_domain
docker pull your_domain/test-image
1
2
3
4
5
6
7
2
3
4
5
6
7
# 报错
# 解决没有足够权限访问Docker守护进程的问题 (opens new window)
permission denied while trying to connect to the Docker daemon socket at unix
1
解决: chmod 666 /var/run/docker.sock
编辑 (opens new window)
上次更新: 2024-01-10 16:01:00