安裝docker
各終端安裝docker 教程 菜鳥docker教程 就挺好,本著不重復造輪子的原則就不深入了,自己學習。
<font color=red>如果你只是想體驗一下怎么安裝私有庫,你可以不分遠程和本地docker。如果你是打算實際使用,最好還是分開。安裝一個docker 作為遠程server端 并安裝私有庫,再在本地安裝一個docker做本地。</font>
安裝docker registry
假設你裝了個server端(只做角色區分)
在宿主機上找一個目錄,用來存儲鏡像相關的東西(不能打自己的鏡像放到docker容器中,這樣不安全)。
1、 創建倉庫文件夾
$ mkdir registry
$ cd registry/
2、 創建授權文件夾
$ mkdir auth
$ docker run --entrypoint htpasswd registry:2 -Bbn myuser mypassword > auth/htpasswd
$ cat auth/htpasswd
3、 獲取registry 的image
$ docker search registry
$ docker pull registy:2
4、 啟動容器實例
$ docker run -d -p 8084:5000 --restart=always --name registry -v `pwd`/auth:/auth -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" registry:2
5、客戶端設置私有庫地址位安全域
windows
windows10 設置服務域為安全域
linux
daemon.json 一般路徑/etc/docker/daemon.json
增加:
{
"insecure-registries": ["server:8084"]
}
6、 客戶端登陸
$ docker login server:8084
7、 創建鏡像
為了測試用直接對現有imge tag
如果沒有image
按如下:
$ docker search redis
$ docker pull redis
$ docker tag redis server:8084/testimage
8、 推送鏡像到遠程倉庫
$ docker push server:8084/testimage
9、刪除本地image
$ docker image rm server:8084/testimage:v0.1
10、 查看并重新獲取鏡像
$ docker images
$ docker pull server:8084/testimage:v0.1
注: 上文中server是你遠程docker register的ip地址,8084是你遠程主機的端口,5000是docker容器的端口。