docker学习(五、部署本地私有仓库)

一、创建本地私有仓库

# 拉取私有库registry到本地,registry相当于本地Docker Hub

docker pull registry

# 运行registry镜像,将registry文件映射到本地路径C:\Users\39824\test\registry(可自定义配置)

# 默认情况下仓库被创建在容器的/var/lib/registry目录下,建议自行容器卷映射,方便于宿主机联调

docker run -d -p 5000:5000 -v /mnt/c/Users/39824/test/registry/:/temp/registry --privileged=true registry

二、示例(将ubuntu放到私有库内)

1.获取个性化后的ubuntu镜像

# 拉取ubuntu镜像

docker pull ubuntu

# 运行ubuntu

docker run -it ubuntu /bin/bash

# 安装的ubuntu中没有ifconfig命令等,安装工具

apt-get update

apt-get install net-tools

# 测试命令

ifconfig

# 确认完毕,退出

ctrl+q+p

# 将改好的容器重新打包成镜像 

docker commit -m="ifconfig add" -a="test" 3d3affc89e59 new_ubuntu:new

 2.查看私有仓库

 # 查看私有仓库中镜像内容,目前返回的是空,证明里面没有任何镜像

# 这里localhost可以通过ifconfig查看本地ip进行替换

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

ifconfig

curl -XGET http://172.27.64.169:5000/v2/_catalog

3.标准个性化ubuntu镜像名称(私有仓库镜像规范) 

# 将镜像重命名成新的镜像(私有库规范镜像名:ip:host/镜像名:tag)

 docker tag new_ubuntu:new 172.27.64.169:5000/new_ubuntu:new

4.修改配置,支持http方式推送镜像 

# docker默认不支持http方式推送镜像,可以通过\etc\docker\daemon.json配置进行修改。

# 增加insecure-registries配置即可,配置好后重启docker

systemctl restart docker

# 启动registry

docker run -d -p 5000:5000 -v /mnt/c/Users/39824/test/registry/:/temp/registry --privileged=true registry

{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
  "insecure-registries": ["172.27.64.169:5000"]
}

 5.推送个性化ubuntu到私有仓库

docker push 172.27.64.169:5000/new_ubuntu:new

 6.验证私服镜像

curl -XGET http://172.27.64.169:5000/v2/_catalog

 

 7.下载私有库中的镜像到本地使用

docker pull 172.27.64.169:5000/new_ubuntu:new

这里我清理了下docker,删除了易混淆的镜像,进行拉取的。 

 

Docker是一种流行的容器化技术,可以将应用程序及其依赖项打包成一个独立的容器,方便在不同环境中进行部署和运行。而本地私有仓库则是用于存储和管理这些Docker镜像的地方。下面是关于如何在本地部署私有仓库的步骤: 1. 安装Docker:首先需要在你的机器上安装Docker。你可以根据操作系统的不同,选择合适的安装方式。 2. 创建私有仓库容器:使用以下命令创建一个本地私有仓库容器: ``` docker run -d -p 5000:5000 --restart=always --name registry registry:2 ``` 这个命令会在本地启动一个名为registry的容器,并将其映射到主机的5000端口。 3. 配置Docker客户端:默认情况下,Docker客户端只能从公共仓库中拉取镜像。为了能够使用本地私有仓库,需要进行一些配置。在Docker客户端的配置文件(通常是`/etc/docker/daemon.json`)中添加以下内容: ``` { "insecure-registries": ["localhost:5000"] } ``` 这样就允许Docker客户端从本地私有仓库拉取镜像了。 4. 推送和拉取镜像:现在你可以使用`docker push`命令将本地构建的镜像推送到私有仓库中,例如: ``` docker build -t myimage:tag . docker tag myimage:tag localhost:5000/myimage:tag docker push localhost:5000/myimage:tag ``` 同样,你也可以使用`docker pull`命令从私有仓库中拉取镜像: ``` docker pull localhost:5000/myimage:tag ``` 5. 验证私有仓库:你可以通过访问`http://localhost:5000/v2/_catalog`来验证私有仓库是否正常工作。如果返回一个空的JSON对象`{}`,表示私有仓库是空的。 希望以上步骤对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

陈年小趴菜

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值