Docker-私服搭建

#docker私服搭建
#所有安装基于CenOS 8.2版本,内核版本需4.0 以上,复制粘贴,一次成功!一秒即可完成安装步骤
#安装常用包 
yum install vim bash-completion net-tools gcc -y

#安装docker-ce 
yum install -y yum-utils device-mapper-persistent-data lvm2

#配置阿里云仓库
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#获取docker所需要安装的运行时容器支持
wget https://download.docker.com/linux/centos/7/x86_64/edge/Packages/containerd.io-1.3.7-3.1.el7.x86_64.rpm

#安装运行时支持
yum -y install containerd.io-1.3.7-3.1.el7.x86_64.rpm

#安装docker服务
yum -y install docker-ce-19.03.12

#启动docker
systemctl enable docker && systemctl start docker


#添加aliyundocker仓库加速器
mkdir -p /etc/docker
# 设置 Docker daemon
cat <<EOF | sudo tee /etc/docker/daemon.json
{
  "registry-mirrors": ["https://fl791z1h.mirror.aliyuncs.com"],
  "bip":"172.20.0.1/16",
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2",
  "storage-opts": [
    "overlay2.override_kernel_check=true"
  ]
}
EOF

#重新加载配置并重启docker
systemctl enable docker.service
systemctl daemon-reload 
systemctl restart docker




#拉取仓库镜像
docker pull registry

#启动镜像容器(不设置加密的方式,直接启动,不建议使用如下命令启动仓库)
docker run -d \
 -p 5000:5000 \
 -v /usr/local/registry:/var/lib/registry \
 --restart=always \
 -e SEARCH_BACKEND=sqlalchemy \
 --name ry-docker-registry \
 registry
 
 #开启本地身份验证,此处为2.7版本之后的仓库创建,不建议使用明文保存密码,2.7后使用的TLS加密。(建议使用这种方式)
#创建放密码文件夹,将密码写入文件,并作为仓库启动前的切入点
 mkdir auth
 docker run \
 -d --entrypoint htpasswd \
 registry -Bbn admin 123456 > auth/htpasswd
 
#设置SSL访问
#1.创建文件夹,存放证书文件,将网站的SSL证书文件放入certs,此处忽略放入过程!请自行百度证书申请流程!
mkdir -p certs
#2.如果有中间证书可以使用cat命令将中间证书捆绑使用
cat domain.crt www.XXXX.com_bundle.pem > /certs/domain.crt
#3.启动容器
 docker run -d \
  -p 5000: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 \
  -v "$(pwd)"/certs:/certs \
  -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
  -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
  registry:2

 #验证
 # https://XXX.XXX.XXX.XXX:5000/v2/_catalog
 # https://140.143.133.55:5000/v2/_catalog  
 # 增加镜像:
 # 删除镜像:
 
 #nginx相关配置建议参阅官方文档:
 https://docs.docker.com/registry/recipes/nginx/
 
 
 #########################
 #UI管理弃用nexus3、horbor ,这俩玩意需要服务器配置过高,暂时不适用。网上找了个简易版本的UI。
 #github地址:https://github.com/atcol/docker-registry-ui
 #安装步骤:
  docker pull  atcol/docker-registry-ui
  docker run -d -p 8080:8080 -it -e APP_CONTEXT=ry \
  -e REG1=http://172.17.0.5:5000/v1/  \
 atcol/docker-registry-ui
 # 访问 :   http://140.143.133.55:8082/ry
 #########################

Harbor安装

整了个2核心4GB的机器就勉强装个Harbor

见Harbor安装配置

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 #WEB UI 管理选择  nexus3   支持maven 、npm、docker等多种仓库类型
 # 创建管理文件挂载映射卷
 mkdir /mnt/nexus-data
 # nexus3 安装
 docker  pull  sonatype/nexus3
 # 启动配置参数(按需来,不懂的百度参数意思)
 # -v --ulimit nofile=65536:65536 
 #启动
docker run -d -p 8081:8081 --name ry-nexus  -v  \ /mnt/nexus-data:/nexus-data    --ulimit  \ nofile=65536:65536   sonatype/nexus3

#访问:  http://XXX.XXX.XXX.XXX:8081/


以下是搭建私服镜像中心docker-registry和docker-registry-web的步骤: 1.安装DockerDocker Compose 2.创建一个目录来存储docker-compose.yml文件和证书文件 3.创建docker-compose.yml文件并添加以下内容: ```yaml version: '3' services: registry: restart: always image: registry:2 ports: - 5000:5000 environment: REGISTRY_AUTH: htpasswd REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm REGISTRY_STORAGE_DELETE_ENABLED: "true" REGISTRY_HTTP_TLS_CERTIFICATE: /certs/domain.crt REGISTRY_HTTP_TLS_KEY: /certs/domain.key volumes: - ./data:/var/lib/registry - ./auth:/auth - ./certs:/certs registry-web: restart: always image: mkuchin/docker-registry-web:v0.1.2 ports: - 8080:8080 environment: REGISTRY_URL: https://registry:5000 REGISTRY_WEB_TITLE: Docker Registry REGISTRY_AUTH: htpasswd REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm REGISTRY_HTTP_TLS_CERTIFICATE: /certs/domain.crt REGISTRY_HTTP_TLS_KEY: /certs/domain.key volumes: - ./auth:/auth - ./certs:/certs ``` 4.创建一个目录来存储证书文件和htpasswd文件 5.生成证书文件 ```shell openssl req -newkey rsa:4096 -nodes -sha256 -keyout domain.key -x509 -days 365 -out domain.crt ``` 6.生成htpasswd文件 ```shell htpasswd -Bc auth/htpasswd <username> ``` 7.启动docker-compose ```shell docker-compose up -d ``` 8.访问https://<your-domain>:8080,输入用户名和密码即可登录docker-registry-web界面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

平塘码道

谢谢你的打赏, 我会继续努力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值