安装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
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容器的端口。