- 首先建议docker 版本安装1.6+
- 这里我使用的是阿里云服务器 Centos7
- 安全组需要配置相关端口开放
- 拉取私服镜像
docker pull registry
- 基于registry镜像启动容器
docker run -d
-p 5000:5000
-v /usr/local/registry:/var/lib/registry
–restart=always
–name registry
registry:latest
d 表示后台运行 p 端口映射 v 挂载数据卷 :前宿主机 :后容器目录 restart=always 表示容器退出时总是重启 name registry 表示容器名称
- 查看已启动的容器
docker ps
- 修改配置https访问【我们推送镜像到私服使用的https】
vim /etc/docker/daemon.json
{
"insecure-registries":["服务器ip:5000"],
"registry-mirrors": ["阿里云镜像加速地址"]
}
- 修改docker配置 暴露2375端口使外部可以访问 【远程访问以后可以直接docker-maven-plugin 打包镜像到私有仓库】
vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock \
--add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \
--default-runtime=docker-runc \
--exec-opt native.cgroupdriver=systemd \
--userland-proxy-path=/usr/libexec/docker/docker-proxy-current \
$OPTIONS \
$DOCKER_STORAGE_OPTIONS \
$DOCKER_NETWORK_OPTIONS \
$ADD_REGISTRY \
$BLOCK_REGISTRY \
$INSECURE_REGISTRY \
$DOCKER_OPTS
- 重启docker守护线程 和docker服务
加载docker守护线程
systemctl daemon-reload
systemctl restart docker
- 查看私服中的镜像信息
curl http://localhost:5000/v2/_catalog
外部访问需要将 localhost 替换成 服务器ip
{"repositories":[]}
- 标记镜像并推送到私有仓库
标记 docker tag 镜像名 ip:5000/镜像名
推送 docker push ip:5000/镜像名
- 再次查看私有仓库
curl http://localhost:5000/v2/_catalog
{"repositories":["docker-demo"]}