docker 搭建 web_用dockercompose给自己搭建一个Docker私有仓库

Docker仓库类型简介
Docker-hub(公共)

Docker Hub是Docker提供的一项服务,用于与您的团队查找和共享容器图像。它提供以下主要功能:存储库:推拉容器图像。团队和组织:管理对容器映像的私有存储库的访问。官方图片:拉取并使用Docker提供的高质量容器图片。 发布者图像:拉取并使用外部供应商提供的高质量容器图像。 Builds:从GitHub和Bitbucket自动构建容器映像,并将它们推送到Docker Hub。Webhooks:成功推送到存储库后触发操作,以便将Docker Hub与其他服务集成。

Docker-Registry(私有)

如果服务器没法联网或者不希望将自己制作的镜像放在公网上,那么这个时候就需要Docker Registry,它可以用来存储和管理自己的镜像。

一键安装部署

考虑到Docker-Registry安装完毕后,想更好的形式去管理自己仓库里的镜像,直接把web服务和Docker-Registry服务一并创建在我们的docker-compose.yml的文件中,具体配置如下:

version: "3"

services:

registry:

privileged: true#这里把权限配置成true

image: registry #镜像来源

restart: always #开机后自己启动

container_name: registry #自定义服务名

ports: #暴露端口

- 5000:5000

volumes: #挂载目录配置

- /usr/local/docker/registry/data:/var/lib/registry

web:

image: konradkleine/docker-registry-frontend:v2

links:

- registry:docker-registry.com # 服务名:这里适使用自定义的名字 ,env可以直接使用这个名字去调用

restart: always

ports:

- 80:80

environment:

- ENV_DOCKER_REGISTRY_HOST=docker-registry.com #配置links的自定义名字

- ENV_DOCKER_REGISTRY_PORT=5000

启动docker-compose:

docker-compose up -d

访问网页:方式一:(主机IP):5000/v2/
web端 主机IP:80 方式二:(域名):5000/v2/
web端 域名:80d2b258caf18901c617f0ef4059c9c243.png在这里还需要配置私服的地址:

{

"registry-mirrors": ["https://uafxazog.mirror.aliyuncs.com"],

"insecure-registries": ["docker-registry.com:5000"]

}

重新启动一下服务

systemctl restart docker

在这里要注意一下:配置地址的时候格式必须要正确,否则docker启动报错

现在我们将本地已有的镜像打个包上传到私服(以mysql:laster为例)

$ docker tag mysql:latest docker-registry.com:5000/mysql:1.2

$ docker push docker-registry.com:5000/mysql

e9affce9cbe8: Pushed

316393412e04: Pushed

d0f104dc0a1f: Pushed

1.2: digest: sha256:5f7620b5dfa7982adb8127e047b3ade838b9621487f085bc3c004f8387cfe14d size: 2828

在这里我们可以看到已经将本地的mysql镜像重新打包版本到1.2并且上传成功了

我们可以通过web端去查看下bde04efee441dd3322054c88c8872139.png最后我们可以拉取这个镜像到本地

$ docker pull docker-registry.com:5000/mysql:1.2

7f4f097ec04d615d0cfddf39ade386af.png至此私仓服务已经搭建完毕并且测试成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值