本文介绍如何将本地的镜像上传到镜像仓库。以及上传时遇到"denied: requested access to the resource is denied"的解决方法。

原文地址:代码汇个人博客 http://www.codehui.net/info/57.html

在上一篇文章中,介绍了使用docker快速搭建nginx+php环境,本文介绍如何把修改过的镜像上传至镜像仓库。我们需要先在 Docker Hub上注册一个账号。

  • 查看镜像
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest f09fe80eb0e7 7 days ago 109MB
php 7.1-fpm 7c5ccac5d47f 7 days ago 358MB
  • 查看容器
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
51adb2df6004 php:7.1-fpm "docker-php-entrypoif" 6 hours ago Up 6 hours 0.0.0.0:9000->9000/tcp myphp-fpm
3218b3ad4e47 f09fe80eb0e7 "nginx -g 'daemon off" 7 hours ago Up 7 hours 0.0.0.0:80->80/tcp mynginx

从容器创建一个新的镜像

[root@localhost ~]# docker commit -p -a "codehui" -m "test" 3218b3ad4e47 codehi/nginx:v1
sha256:1d8fca63675ac57bccb50f0dbdb6030e384c22ee673eecdcb04c915236778109

-a :提交的镜像作者;

-m :提交时的说明文字;

-p :在commit时,将容器暂停。

再次查看镜像,发现了本地新提交的codehi/nginx:v1的镜像

[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
codehi/nginx v1 1d8fca63675a 21 minutes ago 109MB
nginx latest f09fe80eb0e7 7 days ago 109MB
php 7.1-fpm 7c5ccac5d47f 7 days ago 358MB
  • 然后登陆到 docker hub
[root@localhost ~]# docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: codehi
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
  • codehi/nginx:v1镜像推送到docker hub仓库中
[root@localhost ~]# docker push codehi/nginx:v1
The push refers to repository [docker.io/codehi/nginx]
67e805da8eae: Pushed
6b5e2ed60418: Mounted from library/nginx
92c15149e23b: Mounted from library/nginx
0a07e81f5da3: Mounted from library/nginx
v1: digest: sha256:729b836319d3f8bd501db5e7bfadc31d1a88f996b0e756f6fb6cd6abd4408962 size: 1156

登陆仓库后台查看上传成功

然后就可以在另一台服务器使用pull方法下载这个镜像

[root@localhost ~]# docker pull codehi/nginx:v1
v1: Pulling from codehi/nginx
6ae821421a7d: Already exists
da4474e5966c: Already exists
eb2aec2b9c9f: Already exists
96e30fa1efc1: Pull complete
Digest: sha256:422535f95685c43406e378b2c59a3a6564362a683ceac4b783b9d5cee347ae17
Status: Downloaded newer image for codehi/nginx:v1

push 时报错 "denied: requested access to the resource is denied" 的解决方法

报这个错说明tag需要改名字,由于之前commit的时候没有填tag,导致这块上传不上去,解决办法:

[root@localhost ~]# docker tag 1d8fca63675a codehi/nginx:v1

docker中镜像的提交和上传的更多相关文章

  1. docker中镜像的作用

    镜像原理镜像 镜像到底是什么?镜像是一种轻量级.可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码.运行时.库.环境变量和配置文件.1.Uni ...

  2. 【docker】关于docker 中 镜像、容器的关系理解

    例如,使用docker 拉取下来一个要用的镜像es docker pull elasticsearch:5.6.9 此时es的镜像存在与服务器上 docker images 对于你运行镜像为一个容器的 ...

  3. [转]Docker中的镜像

    引言 这篇文章中我们主要来探讨下Docker镜像,它是用来启动容器的构建基石,本文的所用到的Dcoker版本是17.1,API版本是1.33,Go的版本是1.9.2,OS是基于Arch Linux的M ...

  4. Docker 创建镜像、修改、上传镜像

    Docker 创建镜像.修改.上传镜像 –创建镜像有很多方法,用户可以从 Docker Hub 获取已有镜像并更新,也可以利用本地文件系统创建一个. 一.创建镜像 创建镜像有很多方法,用户可以从 Do ...

  5. Docker中提交任务到Spark集群

    1.  背景描述和需求 数据分析程序部署在Docker中,有一些分析计算需要使用Spark计算,需要把任务提交到Spark集群计算. 接收程序部署在Docker中,主机不在Hadoop集群上.与Spa ...

  6. docker微服务部署之:四、安装docker、docker中安装mysql和jdk1.8、手动构建镜像、部署项目

    docker微服务部署之:三,搭建Zuul微服务项目 1.Centos7安装Docker 详见:Centos7安装Docker 2.Docker中安装jdk1.8 详见:使用Docker构建jdk1. ...

  7. docker centos 镜像中安装python36详解!生成centos+python36的基础镜像

    获取centos镜像docker pull centos:7.4.1708 启动并进入centos的容器docker run -i –t centos /bin/bash下载安装python编译环境依 ...

  8. Docker将容器制作成镜像并提交到远程仓库

    Docker将容器制作成镜像并提交到远程仓库 步骤如下 先在dockerhub上创建一个自己的用户https://hub.docker.com/.或者在阿里云也可以. 2. 然后先创建一个空的镜像名. ...

  9. docker中如何制作自己的基础镜像

    一.本地镜像 举个例子:现在把自己的开发环境打包,取名为centos6-base.tar,然后在docker中,以centos6-base.tar作为基准镜像. 1.创建自己的镜像,放置于/root目 ...

随机推荐

  1. mt8665芯片怎么样?联发科mt8665芯片参数介绍

    MediaTek的MT8665是一款高度集成的LTE片上系统(SoC),它包含了先进的功能,例如LTE cat.4.Octa HMP核心在1.5GHz下工作.3D图形(OpenGLES 3.0).13 ...

  2. 【原】无脑操作:TypeScript环境搭建

    概述:本文描述TypeScript环境搭建,以及基于VSCode的自动编译设置和调试设置.网络上很多相应文章的方式过时了或者无法试验成功. ------------------------------ ...

  3. Visual Studio Code-批量添加或删除注释行

    小技巧一例,批量删除Visual Studio code或notepad++注解信息,便于读取有效代码或文本信息,具体操作如下: Visual Studio Code批量删除注解行信息: 在VS Co ...

  4. java中强大的免费的集成开发环境(IDE)eclipse的使用技巧及注意事项

    1调整字体,window->prefernce->Appereance->colors and fonts->Basic->Text font双击即可进行编辑 2.设置行 ...

  5. 如何快速掌握DDT数据驱动测试?

    1.前言 (网盗概念^-^)相同的测试脚本使用不同的测试数据来执行,测试数据和测试行为完全分离, 这样的测试脚本设计模式称为数据驱动.(网盗结束)当我们测试某个网站的登录功能时,我们往往会使用不同的用 ...

  6. PHP全栈学习笔记14

    一.搭建PHP开发环境 Apahce服务器 Dreamwear创建站点 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitiona ...

  7. java中的int与byte的转化

    java中的int与byte的转化 1.基础准备 1.1.原码 就是二进制码,最高位为符号位,0表示正数,1表示负数,剩余部分表示真值 1.2.反码 在原码的基础上,正数反码就是他本身,负数除符号位之 ...

  8. 从壹开始前后端分离 [ Vue2.0+.NetCore2.1] 二十六║Client渲染、Server渲染知多少{补充}

    前言 书接上文,昨天简单的说到了 SSR 服务端渲染的相关内容<二十五║初探SSR服务端渲染>,主要说明了相关概念,以及为什么使用等,昨天的一个小栗子因为时间问题,没有好好的给大家铺开来讲 ...

  9. Linux知识要点大全(第三章)

    第三章  Linux基本操作 *主要内容 1:认识root用户 2:Linux下命令的写法 3:Linux关机和重启 4:忘记root密码的处理方法 5.  Linux下的目录结构 6.  查看信息 ...

  10. GC参考手册 —— GC 调优(工具篇)

    JVM 在程序执行的过程中, 提供了GC行为的原生数据.那么, 我们就可以利用这些原生数据来生成各种报告.原生数据(raw data) 包括: 各个内存池的当前使用情况, 各个内存池的总容量, 每次G ...