#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/