docker搭建Docker Registry私服

  • 首先建议docker 版本安装1.6+
  • 这里我使用的是阿里云服务器 Centos7
  • 安全组需要配置相关端口开放
  1. 拉取私服镜像

docker pull registry

在这里插入图片描述

  1. 基于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 表示容器名称

  1. 查看已启动的容器

docker ps

在这里插入图片描述

  1. 修改配置https访问【我们推送镜像到私服使用的https】

vim /etc/docker/daemon.json

{
	"insecure-registries":["服务器ip:5000"],
	"registry-mirrors": ["阿里云镜像加速地址"]
}
  1. 修改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

  1. 重启docker守护线程 和docker服务

加载docker守护线程
systemctl daemon-reload
systemctl restart docker

  1. 查看私服中的镜像信息

curl http://localhost:5000/v2/_catalog
外部访问需要将 localhost 替换成 服务器ip

{"repositories":[]}
  1. 标记镜像并推送到私有仓库

标记 docker tag 镜像名 ip:5000/镜像名
推送 docker push ip:5000/镜像名

  1. 再次查看私有仓库

curl http://localhost:5000/v2/_catalog

{"repositories":["docker-demo"]}

你可能感兴趣的:(docker容器技术,docker,linux)