Docker仓库

1.docker私有仓库的基本配置

docker pull registry

docker images

docker run -d --name registry -p 5000:5000 registry

docker ps -a


docker tag nginx:v4 localhost:5000/nginx
docker push  localhost:5000/nginx

docker images

经过以上操作,docker私有仓库的基本配置已完成,但是安全性不够高,因此接下来从证书加密和用户认证两方面入手,提高仓库的安全性

2.docker仓库的证书加密

(1)安装openssl 11 软件

yum install openssl11-1.1.1k-2.el7.x86_64.rpm openssl11-libs-1.1.1k-2.el7.x86_64.rpm -y
(2)生成证书

mkdir certs

openssl11 req -newkey rsa:4096 -nodes -sha256 -keyout certs/westos.org.key -addext "subjectAltName = DNS:reg.westos.org" -x509 -days 365 -out certs/westos.org.crt

ls certs/

由上图可知,证书已生成

docker rm -f registry

docker run -d --name registry -p 443:443 -v /opt/registry:/var/lib/registry -v /root/certs:/certs

-e REGISTRY_HTTP_ADDR=0.0.0.0:443

-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/westos.org.crt

-e REGISTRY_HTTP_TLS_KEY=/certs/westos.org.key registry

docker ps

(3)本地解析

vim /etc/hosts

编辑内容

(4)设置证书
cd /etc/docker/
ls
cd certs.d/
ls
mkdir reg.westos.org
cd reg.westos.org/
ls
cp /root/certs/westos.org.crt ca.crt
ls

由上图可知,证书已设置完毕

(5)上传镜像
docker tag yakexi007/game2048:latest reg.westos.org/game2048:latest
docker push reg.westos.org/game2048

3.docker仓库的用户认证

(1)安装httpd-tools 软件

yum install httpd-tools -y

(2)生成用户认证

mkdir auth
htpasswd -Bc auth/htpasswd hs
cat auth/htpasswd


 

由上图可知,用户认证已经生成

(3)新建容器,设置login认证

docker run -d --name registry -p 443:443 -v /opt/registry:/var/lib/registry -v /root/certs:/certs

-e REGISTRY_HTTP_ADDR=0.0.0.0:443

-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/westos.org.crt

-e REGISTRY_HTTP_TLS_KEY=/certs/westos.org.key -v /root/auth:/auth  

-e "REGISTRY_AUTH=htpasswd"

-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm"

-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd registry
docker ps


docker login reg.westos.org

(4)上传镜像
docker push reg.westos.org/game2048

curl -k -u wxh:westos https://reg.westos.org/v2/_catalog

该命令可以查看仓库中所上传的镜像文件 

4.harbor仓库

(1)设定harbor仓库配置文件

tar zxf harbor-offline-installer-v2.5.0.tgz
ls
cd harbor/
ls
cp harbor.yml.tmpl harbor.yml
vim harbor.yml

编辑内容

(2)安装harbor仓库

cd
mv docker-compose-linux-x86_64-v2.5.0 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
mkdir /data
ls
mv certs/ /data/
cd harbor/
./install.sh --with-chartmuseum

(3)开启及登录harbor仓库
docker-compose up -d
docker-compose ps


docker login reg.westos.org

在浏览器中输入192.168.2.88即可进入harbor登录界面,输入设定好的用户名和密码即可登录仓库

(4)向仓库中上传镜像
docker tag yakexi007/game2048:latest reg.westos.org/library/game2048:latest
docker push reg.westos.org/library/game2048:latest


在harbor仓库中如下图所示

基本功能可以实现,表明仓库搭建成功

Docker仓库(Repository)是用于存储和分发Docker镜像的地方,通常包括公共仓库私有仓库两种。配置Docker仓库是为了让开发者或团队能够方便地共享和管理他们的镜像。下面是关于Docker仓库配置的一些基本信息: 1. **Docker Hub**(公共仓库):这是官方提供的免费服务,任何人都可以创建帐户并发布公开可用的镜像。如果你想要在互联网上分享你的镜像,Docker Hub是一个理想的选择。 2. **Registry(私有仓库)**:包括 Docker Registry(原名Docker Hub Team),Google Container Registry (GCR),Amazon ECR,Azure Container Registry等。这些是为团队或企业内部提供安全控制和私有访问的存储空间,比如使用Docker Trusted Registry (DTR) 或 Docker Enterprise Edition (EE)。 3. **Registry配置**:在本地开发时,可以配置 Docker CLI 使用 Docker Registry,通过 `docker login` 命令登录私有仓库,然后使用 `docker push` 发布镜像。设置 `DOCKER_CONFIG` 环境变量或在 `.docker/config.json` 文件中配置 registry URL、认证信息等。 4. **Registry URL**:通常格式为 `https://<registry-name>.dkr.ecr.<region>.amazonaws.com` 或 `http(s)://<your-private-registry-url>`。 5. **认证**:私有仓库通常需要基础认证(用户名和密码)或秘钥对(SSH密钥或JWT令牌)来验证身份。 6. **Registry映射**:在Dockerfile中使用 `FROM` 语句指定源镜像时,也可以从私有仓库引用,例如 `FROM your-username/your-image:tag@your-registry`.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值