Mac os 搭建docker私人仓库,并把修改的容器提交镜像push到私人仓库

您所在的位置:网站首页 docker提交镜像 Mac os 搭建docker私人仓库,并把修改的容器提交镜像push到私人仓库

Mac os 搭建docker私人仓库,并把修改的容器提交镜像push到私人仓库

2023-12-14 03:50| 来源: 网络整理| 查看: 265

文章目录 Mac os 搭建docker私人仓库,并把修改的容器提交镜像push到私人仓库一.搭建docker私人仓库1. 安装docker2. 运行docker私人仓库3. 在私有仓库上传、搜索、下载镜像 二.使用内网地址作为仓库地址三.修改后的容器怎么push到私人仓库

Mac os 搭建docker私人仓库,并把修改的容器提交镜像push到私人仓库 一.搭建docker私人仓库 1. 安装docker `brew cask isntall docker` 2. 运行docker私人仓库

docker-registry 是官方提供的工具,可以用于构建私有的镜像仓库

# 拉取私人仓库镜像 docker pull registry:2 # run sudo docker run -d -v /Users/chenbing/Desktop/registry:/var/lib/registry -p 5000:5000 --name myregistry registry:2`

Registry服务默认会将上传的镜像保存在容器的/var/lib/registry,我们将主机的桌面目录/Users/xxx/Desktop/registry目录挂载到该目录,即可实现将镜像保存到主机的/Users/xxx/Desktop/registry目录了。

浏览器访问http://127.0.0.1:5000/v2,出现下面情况说明registry运行正常。

在这里插入图片描述

3. 在私有仓库上传、搜索、下载镜像

创建好私有仓库之后,就可以使用 docker tag 来标记一个镜像,然后推送它到仓库。例如私有仓库地址为 127.0.0.1:5000。

先在本机查看已有的镜像。

这里我们重新拉一个镜像试试就可以

docker pull nginx docker images docker tag nginx:latest 127.0.0.1:5000/nginx:latest docker push 127.0.0.1:5000/nginx:latest

访问 http://127.0.0.1:5000/v2/_catalog查看私有仓库目录,可以看到刚上传的镜像了

下载私有仓库的镜像,使用如下命令:

docker pull 127.0.0.1:5000/镜像名:版本号

例如

docker pull 127.0.0.1:5000/nginx:latest

二.使用内网地址作为仓库地址

如果你不想使用 127.0.0.1:5000 作为仓库地址,比如想让本网段的其他主机也能把镜像推送到私有仓库。你就得把例如 192.168.199.100:5000 这样的内网地址作为私有仓库地址,这时你会发现无法成功推送镜像。

这是因为 Docker 默认不允许非 HTTPS 方式推送镜像。我们可以通过 Docker 的配置选项来取消这个限制.

在/etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件),也可以使用图形界面配置, 在这里插入图片描述

{ "registry-mirror": [ "https://hub-mirror.c.163.com", "https://mirror.baidubce.com" ], "insecure-registries": [ "192.168.199.100:5000" ] }

然后重启docker

注意,我只在Mac上配置了发现还是会报错,所以要在需要push镜像的内网主机也要添配置。

参考文献: Docker 私有仓库搭建 Docker —— 从入门到实践

三.修改后的容器怎么push到私人仓库

参考[通过容器提交镜像(docker commit)以及推送镜像(docker push)笔记](https://www.cnblogs.com/kevingrace/p/9599988.html) 这里借用这个例子,后面我们push到自己的私人仓库,注意docker tag修改的格式就行

docker run -ti --name myubuntu -d docker.io/ubuntu docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 651a8541a47d docker.io/ubuntu "/bin/bash" 37 seconds ago Up 36 seconds myubuntu docker commit :从容器创建一个新的镜像。 # docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] -a :提交的镜像作者; -c :使用Dockerfile指令来创建镜像; -m :提交时的说明文字; -p :在commit时,将容器暂停。 根据这个myubuntu容器提交镜像 docker commit -a "wangshibo" -m "this is test" 651a8541a47d 192.168.199.100:5000/myubuntu:v1 # 注意我的修改的tag 再次查看镜像,发现镜像192.168.199.100:5000/myubuntu:v1已经提交到本地了 docker images REPOSITORY TAG IMAGE ID CREATED SIZE 192.168.199.100:5000/myubuntu v1 6ce4aedd12cd 59 seconds ago 84.1 MB docker.io/ubuntu 16.04 7aa3602ab41e 5 weeks ago 115 MB

push到私人仓库

docker push 192.168.199.100:5000/myubuntu:v1



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3