Docker上传镜像到阿里云或私服仓库
在本地的镜像,可以导出成 tar归档文件,可以把该文件分享给他人使用,然后在其他机器上再导入镜像,就可以使用了。
其实,也可以把本地创建好的镜像上传到公共的或者私有的镜像仓库(最常用)。
一、上传到公共的镜像仓库
这里使用阿里云账号。创建公共的镜像仓库
在“容器镜像服务”里面创建,创建好之后,仓库的基本信息,操作指南里面都有说明。
1、登录阿里云Docker Registry
[root@centos7 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
jqcontos v7 e95e8427c1eb 23 hours ago 203MB
redis latest 41de2cc0b30e 5 days ago 104MB
centos 7 7e6257c9f8d8 3 weeks ago 203MB
[root@centos7 ~]# docker login --username=jq_demo registry.cn-hangzhou.aliyuncs.com
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded
2、使用 docker tag 命令:添加镜像标签
标记本地镜像,将其归入某一仓库。
语法:docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
给 jqcontos:v7 添加镜像标签,标记到公共仓库
[root@centos7 ~]# docker tag jqcontos:v7 registry.cn-hangzhou.aliyuncs.com/charge/repo_test:jqcentosv7
[root@centos7 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.cn-hangzhou.aliyuncs.com/charge/repo_test jqcentosv7 e95e8427c1eb 23 hours ago 203MB
jqcontos v7 e95e8427c1eb 23 hours ago 203MB
redis latest 41de2cc0b30e 5 days ago 104MB
centos 7 7e6257c9f8d8 3 weeks ago 203MB
3、使用 docker push 命令:将本地的镜像上传到镜像仓库
语法:docker push [OPTIONS] NAME[:TAG]
把标记好的jqcontos:v7 上传到公共仓库
[root@centos7 ~]# docker push registry.cn-hangzhou.aliyuncs.com/charge/repo_test
registry.cn-hangzhou.aliyuncs.com/charge/repo_test registry.cn-hangzhou.aliyuncs.com/charge/repo_test:jqcentosv7
[root@centos7 ~]# docker push registry.cn-hangzhou.aliyuncs.com/charge/repo_test:jqcentosv7
The push refers to repository [registry.cn-hangzhou.aliyuncs.com/charge/repo_test]
613be09ab3c0: Pushed
jqcentosv7: digest: sha256:7aa35fe4f930a54ba521489eca0e2e5edef3cb3105a263bbb72c054a3aa82372 size: 529
4、从公共仓库拉取镜像 - docker pull命令
语法:docker pull [OPTIONS] NAME[:TAG|@DIGEST]
[root@centos7 ~]# docker pull registry.cn-hangzhou.aliyuncs.com/charge/repo_test:jqcentosv7
跟着操作指南来,还是很简单的。
二、上传到私有的镜像仓库
1、搭建一个docker私有库服务
使用 docker run 命令:创建一个新的容器并运行一个命令
语法:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS说明:
- -d: 后台运行容器,并返回容器ID;
- -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
- --name="nginx-lb": 为容器指定一个名称;
- --restart=alwarys 标识当docker daemon启动的时候一起启动。
[root@centos7 ~]# docker run -d -p 5000:5000 --restart=always --name registry2 registry:2
8df654f7a11d7112991c9c04a818b35251f9650eec7f405de799c4a403da8584
docker私服的搭建非常简单,这里在启动镜像的时候会先去下载registry 2.0。
这样一个docker私服就已经创建并启动好了。
2、将镜像上传到docker私服 -- push
添加镜像标记,然后push。
[root@centos7 ~]# docker tag redis:latest localhost:5000/redis:latest
[root@centos7 ~]# docker push localhost:5000/redis:latest
3、拉取私有仓库镜像 -- pull
[root@centos7 ~]# docker pull localhost:5000/redis:latest
4、查看私服镜像所有仓库
[root@centos7 ~]# curl http://localhost:5000/v2/_catalog
{"repositories":["redis"]}
5、查看仓库中镜像的所有标签列表
[root@centos7 ~]# curl http://localhost:5000/v2/centos/tags/list
{"errors":[{"code":"NAME_UNKNOWN","message":"repository name not known to registry","detail":{"name":"centos"}}]}
6、使用 localhost,127.0.0.1 ,ip 都可以,局域网中一般使用 ip地址。
注意:使用 ip地址,可能会报错,
原因是:docker私有仓库服务器,默认是基于 https传输的,所以我们设置该ip不使用 https传输
出现上面问题,配置Docker引擎的配置文件/etc/docker/daemon.json ,重新加载它,并重启Docker,然后在操作即可。
"insecure-registries": ["ip:port"]
[root@centos7 ~]# vim /etc/docker/daemon.json
[root@centos7 ~]# systemctl daemon-reload
[root@centos7 ~]# systemctl restart docker
这样设置该ip不使用https传输的操作不安全。如果配置安全证书,管理访问权限,提高安全性,可自行百度。
不管是公共的还是私有的镜像仓库,上传,拉取命令都一样,注意填写好仓库Registry地址就行。
参考文章:
Docker私服搭建及上传自己镜像到私服仓库
The push refers to a repository(docker报错解决方案)
—— Stay Hungry. Stay Foolish. 求知若饥,虚心若愚。
Docker上传镜像到阿里云或私服仓库相关推荐
- 上传镜像到阿里云仓库
1.登录阿里云找到容器镜像服务 2.点击个人实例 3.创建镜像仓库 4.点击你的仓库根据操作指南操作 三步就可以搞定,但是有细节 5.操作案例 上面是我的镜像,比如我选择最后一行的mysql镜像,记住 ...
- 基于滴滴云安装 Docker 并上传镜像到滴滴云 Docker 仓库
前言 Docker 简化了容器中应用程序进程的管理过程.容器允许您在资源隔离的进程中运行应用程序.容器与虚拟机类似,但容器更便携.更资源友好,并且更依赖于主机操作系统. 本文将介绍如何用滴滴云服务器在 ...
- 微信小程序直接上传文件到阿里云OSS组件封装
微信小程序直接上传文件到OSS 1. 封装公共方法 在根目录utils目录新建一个upload文件夹: // utils/upload/base64.jsvar base64EncodeChars = ...
- mac SCp上传文件到阿里云服务器centos
1.mac链接远程阿里云服务器centos命令: ssh -A -p 22 root@ip 2.mac上传文件到阿里云centos: 3.阿里云服务器weapps下文件删除命令: 4.上传文件相关 m ...
- java上传文件至阿里云oss工具类
第一步:引入oss maven坐标 <dependency><groupId>com.aliyun.oss</groupId><artifactId>a ...
- 批量上传视频到阿里云
批量上传视频到阿里云 这段时间项目里有一个上传视频到阿里云的功能是我来负责写的,之前一直没有写过这种功能,感觉很难的亚子,但是后来仔细研究了一遍发现也没想象中那么难,最后经过不懈的努力也算是搞出来了哈 ...
- 上传文件到阿里云linux服务器
上传文件到阿里云linux服务器 安装Putty软件(用来连接阿里云服务器的一款软件,里面有用来上传文件到服务器的可执行文件) 参考以下网址: https://help.aliyun.com/docu ...
- Android(安卓)上传文件到阿里云点播,阿里云点播转码
Android(安卓)上传文件到阿里云点播,阿里云点播转码 文章目录 Android(安卓)上传文件到阿里云点播,阿里云点播转码 一:登录阿里云点播平台配置添加转码模板组 1:需要什么参数,可自行填写 ...
- 上传视频到阿里云服务器
######上传视频到阿里云服务器工具类 1.maven坐标 <dependency><groupId>com.aliyun</groupId><artifa ...
最新文章
- 深度估计相关原理(计算机视觉和深度学习基础)
- nvidia 英伟达 显卡 GPU 的计算能力
- Eclipse MAT插件下载地址
- 帕雷托最优(Pareto optimality)、帕雷托效率(Pareto efficiency)
- sqlite数据库实现字符串查找的方法(instr,substring,charindex替代方案)
- 研讨会 | 知识工程与问答技术研讨会 (KEQA2018)
- 适合初学者的安卓开源项目_开源世界中初学者的颠簸之旅
- 在linux下 用户的密码错误,linux – 常规用户帐户之间的su失败,“su:密码错误”...
- mysql服务没有权限开机不会自启动_计算机服务项里没有MySQL服务,无法设置开机自启动或者关闭自启动,的解决办法...
- Filter动态代理敏感词汇过滤
- sle4442,sle4428解
- python对txt文件进行处理实战_python数据处理实战
- 移动Ad Hoc网络路由协议汇总
- pixi.js淘宝小程序快速上手指南
- Windows XP 黑屏补丁
- Java随笔记 - 断包和粘包 解决方法
- 【游戏逆向】FPS网络游戏自动瞄准漏洞分析以及实现二
- 北京科技大学计算机专业评价,北京科技大学王牌专业怎么样?爆赞!
- 平阴县实验学校计算机老师,人物 | 平阴县实验学校邢珍:认认真真做事,踏踏实实做人...
- Python open函数用法