CentOS7基于Nginx和Registry2.0搭建Docker安全私有仓库

作用:Nginx做反向代理,在访问私有仓库时加个密码验证,密码用htpasswd生成

IP:192.168.0.227

1.下载registry2.0镜像

docker pull  registry:2.1.1

2.安装Nginx

yum  -y install nginx

3.创建docker仓库数据和配置目录

sudo mkdir -p /opt/docker/registry/data
sudo mkdir -p /opt/docker/registry/conf

4.运行docker仓库

docker run -d -p 5000:5000 -v /opt/docker/registry/data:/tmp/registry --name registry docker.io/registry:2.1.1

5.基于htpasswd创建访问仓库的账户密码

yum -y install httpd-tools  #htpasswd是apache的工具
htpasswd -c /opt/docker/registry/conf/docker-registry.htpasswd jack  第一次创建需要加-c
htpasswd    /opt/docker/registry/conf/docker-registry.htpasswd user2

6.配置Nginx

vim  /etc/nginx/nginx.conf
# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

events {
    worker_connections 1024;
}

http {
    log_format  main  ‘$remote_addr - $remote_user [$time_local] "$request" ‘
                      ‘$status $body_bytes_sent "$http_referer" ‘
                      ‘"$http_user_agent" "$http_x_forwarded_for"‘;

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

    upstream webserver {                  #webserver为自定义,被下边调用
       server 192.168.0.227:5000;         #写要代理的IP:PORT

       }
    server {
            listen       8080 default_server; #这里定义访问端口:http://192.168.0.227:8080/v2
            location / {
            auth_basic  "please input username/password sina";
            auth_basic_user_file  /opt/docker/registry/conf/docker-registry.htpasswd;
            proxy_pass http://webserver;   #调用上边的webserver 
       }
       }

    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }
}

7.测试:

输入http://192.168.0.227:8080/v2 #因为配置文件中定义了8080

时间: 2024-08-06 18:23:25

CentOS7基于Nginx和Registry2.0搭建Docker安全私有仓库的相关文章

在 ubuntu 搭建 docker registry 私有仓库

为什么要搭建 docker 私有仓库 原因有几个: 项目需要,不希望将项目放到 docker hub 上. 环境需求,考虑网络.效率的问题,希望在私有服务器上建立自用的仓库,提高便利性和访问速度. 可以做更多的个性化配置. 用什么搭建 docker 私有仓库 docker 官方提供了 registry 的镜像,可以使用它来建私有仓库. 本次搭建的环境 在这里先说明一下本文的实验环境: docker 仓库服务器: ubuntu 14.04 ip地址:192.168.188.112 docker 客

Docker的私有仓库

学习Docker的过程中Docker的私有仓库一直没能成功,就是因为CentOS 6.x和CentOS 7默认引入了支持https认证,每次在push和pull的时候都会报错,今天是周末,利用一天的时间反复测试和网上案列的整合,总算是成功了,也借此机会对学习Docker的朋友有所帮助. 个人的愚见:博友在练习的时候建议用CentOS 7.x系统,不建议用CentOS 6.x系统 一.准备 地址规划: Docker私有仓库地址:192.168.0.109 Docker客户端地址:192.168.0

docker创建私有仓库

1.查看远程仓库中的列表$ sudo docker search registry    //会列出你所需要的仓库 2.获取registry仓库$ sudo docker pull registry   //最新 3.运行 $ sudo docker run -p 5000:5000  docker.io/registry   //-p映射端口 3.1查看容器运行情况[[email protected] docker]# docker psCONTAINER ID        IMAGE   

docker 配置私有仓库、打开TCP管理端口

docker配置私有仓库.打开TCP管理端口 该机器主要用于jenkins在编译打包镜像时使用.需要能push镜像到私有仓库,需要开通tcp管理端口作为docker远程机器. 安装docker # vi /etc/resolv.conf nameserver 114.114.114.114 # yum update # yum install -y yum-utils device-mapper-persistent-data lvm2 # yum-config-manager --add-re

docker的私有仓库的搭建

author: headsen chen date:2018-06-30  23:14:16 服务端(私有仓库:centos7_64位),使用端:centos6_64位 1.仓库的搭建: 安装docker: yum -y install epel-release yum -y install docker-iosystemctl start docker 将本地的仓库换成阿里云的镜像仓库 vim /etc/docker/daemon.json # 内容如下: { "registry-mirror

docker基础 私有仓库repository搭建(1) registry

使用docker的login命令之后,可以使用push命令将镜像推送到dockerhub上,但是dockerhub毕竟在公网上,免费的帐户只有一个private 的repository是免费的,剩下的就都只能做成public的.由于种种限制,企业私有仓库的创建就有了各种应用场景.本文将从使用registry的方式简单介绍如何搭建私有的repository. pull registry镜像 使用到的registry镜像 [[email protected] ~]# docker search re

Docker 搭建本地 cnpm 私有仓库

1.首先启动本地的docker 2.下载 cnpm 仓库 git clone https://github.com/cnpm/cnpmjs.org.git 3.进入到 cnpmjs.org目录 cd cnpmjs.org 4.通过docker-compose.yaml启动容器 docker-compose up 5.浏览器访问:127.0.0.1:7002 即可访问(127.0.0.1:7001 是registery 注册地址) 5.仓库部署成功后访问和使用 cnpm config get re

Docker部署私有仓库(registry&Harbor)

仓库(Repository)是集中存放镜像的地方.一个容易混淆的概念是注册服务器(registry).实际上注册服务器是管理仓库的具体服务器,每个服务器上可以有多个仓库,而每个仓库下面有多个镜像.从这方面来说,仓库可以被认为是一个具体的项目或目录.例如对于仓库地址docker.sina.com.cn/centos:centos7来说,docekr.sian.com.cn是注册服务器地址,centos是仓库名,centos7是仓库的tag(标签). Docker Hub 官方仓库目前docker官

docker建立私有仓库

实验环境: 怎样将vmware与viutualBOX的网络互通这里就不详细说明了. 在xin7上安装docker 首先在docker的官方站点下载docker的windos安装包,因为墙的因素,这个安装包很难下下来,这边提供了我的网盘链接http://pan.baidu.com/s/1dDGQHZb. 因为docker是基于linux平台的,这里安装程序会安装一个virtualBOX的虚拟机,在虚拟机上生成一的boot2docker的docker环境,在桌面生成Boot2Docker Start