Docker | 发布镜像到镜像仓库
本文记录发布镜像到
DockerHub和阿里云镜像仓库。工作中使用的是JFrog Artifactory和Harbor,没有太大差别。
发布镜像到DockerHub
1、登录docker
[root@--- ~]# docker login --help
Usage: docker login [OPTIONS] [SERVER]
Log in to a Docker registry.
If no server is specified, the default is defined by the daemon.
Options:
-p, --password string Password
--password-stdin Take the password from stdin
-u, --username string Username
[root@--- ~]#
[root@--- ~]# docker login -u xiaobluewhale
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-store
Login Succeeded
[root@--- ~]#
2、服务器上提交镜像
docker push [OPTIONS] NAME[:TAG]
docker push 命令推送镜像的规范是:注册用户名/镜像名。
使用以下方法之一命名您的本地镜像:
- 当你构建它们时,使用如下命令
docker build -t <hub-user>/<repo-name>[:<tag>]
- 重命名现有的本地镜像
docker tag <existing-image> <hub-user>/<repo-name>[:<tag>]
docker commit提交更改
docker commit <existing-container> <hub-user>/<repo-name>[:<tag>]
- 推送镜像仓库
docker push <hub-user>/<repo-name>:<tag>
docker push xiao/tomcat
docker push xiao/tomcat
Using default tag: latest
The push refers to repository [docker.io/xiao/tomcat]
69421fc728fb: Preparing
1f6217f0c2bb: Preparing
aa9c3f9fafec: Preparing
7d4a4cd414a9: Preparing
74ddd0ec08fa: Preparing
denied: requested access to the resource is denied
推送失败,被拒绝
推送失败的原因: name必须是注册用户名
解决push失败问题
增加一个tag, 重命名镜像
# 增加tag,重命名镜像
docker tag 24b3a476f143 xiaobluewhale/tomcat:1.0
The push refers to repository [docker.io/xiaobluewhale/tomcat]
# 查看镜像
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
xiaobluewhale/tomcat 1.0 24b3a476f143 13 hours ago 680MB
xiao/tomcat 1.0 24b3a476f143 13 hours ago 680MB
xiao/tomcat latest 24b3a476f143 13 hours ago 680MB
# 推送镜像
docker push xiaobluewhale/tomcat:1.0
提交成功

提交的时候也是按照镜像的层级提交的
在个人DockerHub上查看推送成功的镜像

发布镜像到阿里云镜像仓库
1、登陆阿里云
2、找到容器镜像服务,创建实例


企业版需要付费购买(1个月741)

我选择创建个人实例

3、创建命名空间(为了隔离)

4、创建镜像仓库
本地

5、推送镜像
参考阿里云容器镜像指南
- 登录
docker login --username=[yourname] registry.cn-hangzhou.aliyuncs.com
- 查看镜像
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
xiaobluewhale/tomcat 1.0 24b3a476f143 14 hours ago 680MB
- 推送镜像
docker push xiaobluewhale/tomcat:1.0
The push refers to repository [docker.io/xiaobluewhale/tomcat]

6、阿里云查看镜像
imageID: 24b3a476f143

也可以查看可视化的层信息

我是 甜点cc
热爱前端,也喜欢专研各种跟本职工作关系不大的技术,技术、产品兴趣广泛且浓厚,等待着一个创业机会。本号主要致力于分享个人经验总结,希望可以给一小部分人一些微小帮助。
希望能和大家一起努力营造一个良好的学习氛围,为了个人和家庭、为了我国的互联网物联网技术、数字化转型、数字经济发展做一点点贡献。数风流人物还看中国、看今朝、看你我。
Docker | 发布镜像到镜像仓库的更多相关文章
- Docker将自己的镜像发布到个人私有仓库
Docker将自己的镜像发布到个人私有仓库 1.注册dockerhub账户 docker提供了一个类似于github的仓库dockerhub, 网址https://hub.docker.com/需要注 ...
- docker 系列 - 企业级私有镜像仓库Harbor部署(转载)
本文转载自 搜云库 的文章 https://www.jianshu.com/p/7d76850de03f , 感谢作者 3.png 上一篇文章搭建了一个具有基础功能,权限认证.TLS 的私有仓库, ...
- docker 私有仓库上传镜像,其他docker服务器从私有镜像下载
<pre name="code" class="cpp">docker:/data# docker ps CONTAINER ID IMAGE CO ...
- docker 创建新的镜像到私有仓库
docker:/data# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES bd6db4127a9e centos &q ...
- [Docker]Docker拉取,上传镜像到Harbor仓库
需求 因为项目的需求,需要制作一个基于tomcat的镜像.那么前提就是,需要有tomcat的基础镜像. 怎么做 我的思路跑偏了,本来以为是需要将tomcat下载下来,然后通过docker命令,让它成为 ...
- docker核心概念(镜像、容器、仓库)及基本操作
概要 docker是一种linux容器技术.容器有效的将由单个操作系统挂管理的资源划分到孤立的组中,以便更好的在组之间平衡有冲突的资源使用需求.可简单理解为一种沙盒 .每个容器内运行一个应用,不同的容 ...
- Docker入门与应用系列(六)Docker私有与公共镜像仓库
1.搭建私有镜像仓库 Docker Hub作为Docker默认官方公共镜像:如果想搭建自己的私有镜像仓库,官方提供registry镜像,使搭建私有仓库非常简单 1.1下载registry镜像并启动 d ...
- docker 查询或获取私有仓库(registry)中的镜像
docker 查询或获取私有仓库(registry)中的镜像,使用 docker search 192.168.1.8:5000 命令经测试不好使. 解决: 1.获取仓库类的镜像: [root@sha ...
- docker学习11-上传本地镜像到镜像仓库
前言 在本地自己制作用过镜像后,上传到镜像仓库,这样方便在不同的机器上快速搭建同一套环境. 如果公开的话,别人也可以用你的镜像快速搭建环境,类似于 GitHub 本地代码上传到代码仓库,再从仓库拉取代 ...
- docker部署mysql,nginx,php,并上传镜像到私有仓库
前言 最近公司准备把现有环境全部搞成容器化,所以笔者就先了解了一下docker,并搞了一搞,并把自己搞的过程记录下来.话不多说直接开干 环境说明 Centos7 Docker version 18.0 ...
随机推荐
- 我分析30w条数据后发现,西安新房公摊最低的竟是这里?
前两天一个邻居发出了灵魂质问:"为什么我买的180平和你的169平看上去一样大?" "因为咱俩的套内面积都是138平......" 我们去看房子,比较不同楼盘的 ...
- Maven 配置文件如何读取pom.xml的内容
编写配置文件 配置文件读取pom文件内容用@@的方式 logging: level: cn.sail: @logging.level@ org.springframework: warn config ...
- Mysql 实现数据库读写分离
Amoeba+Mysql实现数据库读写分离 一.Amoeba 是什么 Amoeba(变形虫)项目,专注 分布式数据库 proxy 开发.座落与Client.DB Server(s)之间.对客户端透明. ...
- React报错之Type '() => JSX.Element[]' is not assignable to type FunctionComponent
正文从这开始~ 总览 当我们尝试从函数组件中返回元素组成的数组时,会产生"Type '() => JSX.Element[]' is not assignable to type Fu ...
- Excel 运算符(一):算术运算符
算术运算符用于最基本的加.减.乘.除运算. 运算符 含义 实例 结果 + 加法运算 =2+3 5 - 减法运算 =5-2 3 * 乘法运算 =5*2 10 / 除法运算 =4/2 2 % 百分数 =5 ...
- 第六十六篇:Vue的watch侦听器
好家伙,哇吃侦听器 1.watch侦听器 watch侦听器允许开发者监视数据的变化,从而针对数据的变化做特定的操作 1.1.侦听器的基本用法 <body> <div id=" ...
- x64dbg 插件开发环境配置
x64dbg 是一款开源的应用层反汇编调试器,旨在对没有源代码的可执行文件进行恶意软件分析和逆向工程,同时 x64dbg 还允许用户开发插件来扩展功能,插件开发环境的配置非常简单,如下将简单介绍x64 ...
- std::atomic和std::mutex区别
std::atomic介绍 模板类std::atomic是C++11提供的原子操作类型,头文件 #include<atomic>.在多线程调用下,利用std::atomic可实 ...
- Netty整合STOMP
1.STOMP协议简介 常用的WebSocket协议定义了两种传输信息类型:文本信息和二进制信息.类型虽然被确定,但是他们的传输体是没有规定的,也就是说传输体可以自定义成什么样的数据格式都行,只要客户 ...
- KingbaseES 如何开启并进入数据库
关键字: KingbaseES.sys_ctl.ksql 一.数据库启动前环境检测 1.1 查看kingbase用户环境变量配置 图1-1 查看.bashrc环境变量配置 1.2 应用环境变量 [ki ...