docker 优势 (外部参考)

Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后
发布到任何流行的Linux机器上,便可以实现虚拟化。Docker改变了虚拟化的方
式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是
Docker的最大优势,过去需要用数天乃至数周的任务,在Docker容器的处理下,只需要数秒就能完成。

安装docker(请参考外部链接)

[Ubuntu Docker 安装](http://www.runoob.com/docker/ubuntu-docker-install.html)
[CentOS Docker 安装](http://www.runoob.com/docker/centos-docker-install.html)
[Windows Docker 安装](http://www.runoob.com/docker/windows-docker-install.html)
[MacOS Docker 安装](http://www.runoob.com/docker/macos-docker-install.html)

本次构建自定义docker镜像流程

我们可以通过以下两种方式对镜像进行更改。
* 从已经创建的容器中更新镜像,并且提交这个镜像(本次使用)
* 使用 Dockerfile 指令来创建一个新的镜像(新手不推荐)

1.下载官方centos镜像(本次已centos做实例)

2.运行这个容器 docker run -i -t centos /bin/bash[见图1]

    参数说明
* -t:在新容器内指定一个伪终端或终端。
* -i:允许你对容器内的标准输入 (STDIN) 进行交互。

3.提交一个 docker commit -m="richard server" -a="zhuzhida" b3a4179ec677 richard/centos:v1 [见图1]

各个参数说明:
-m:提交的描述信息
-a:指定镜像作者
b3a4179ec677:容器ID
richard/centos:v1:指定要创建的目标镜像名

图1

4.进入自己定义的镜像中安装自己所需 相应软件

    安装nginx教程 https://www.cnblogs.com/liujuncm5/p/6713784.html
安装 MongoDB 。。。等软件
安装完成后 ctrl+ d 退出伪终端
将容器转化为镜像 执行命令 `docker commit -m="added nginx+mongdb+git+node" -a="zhuzhida" ca5ca7798a24 richard/centos:v4`
ca5ca7798a24 为 docker ps -a 中的伪终端 值

5.提交到docker hub

    在docker hub 上创建 账号密码 并创建仓库 [见图5]
给镜像打标签 镜像打标签后才可以进行push [见图6]
`docker tag <existing-image> <hub-user>/<repo-name>[:<tag>]` 登录 `docker login` push 镜像 [见图6]

图5 在docker hub 上创建 账号密码 并创建仓库

图6 给镜像打标签,登录上传

6.登录docker hub 发现已经上传成功

下篇 在服务器上安装 docker hub 中的私有镜像

参考文章

https://www.jianshu.com/p/dd364b59b774 https://www.jianshu.com/p/fb237c7eb48c https://blog.csdn.net/Prepared/article/details/68940997?locationNum=10&fps=1

构建自定义docker镜像,上传至docker hub的更多相关文章

  1. 如何将docker 镜像上传到docker hub仓库

    如何将docker 镜像上传到docker hub仓库 目录 如何将docker 镜像上传到docker hub仓库 背景 1.注册docker hub账号 2.docker hub上创建仓库 3.d ...

  2. Docker 镜像上传到docker hub仓库

    1 先创建docker hub 帐号 ,并创建仓库 https://hub.docker.com/ 首先你需要一个docker hub 帐号,记住username,password,email .后面 ...

  3. 将docker镜像上传到docker hub

  4. 本地docker镜像上传到腾讯云镜像仓库。

    和上篇上传到Docker Hub类似,只是登录时切换成腾讯云镜像仓库地址(ccr.ccs.tencentyun.com/longdbtencentdocker/publongdb)即可. docker ...

  5. jenkins构建docker镜像上传到harbor并发布到kubernetes

    很早之前写过一篇jenkins集成docker的文章,使用的是CloudBees Docker Build and Publish plugin插件.这篇文章是直接使用shell脚本做的,主要是这次有 ...

  6. docker镜像上传到阿里云

    目前上传本地镜像到网上有多种途径,一个是上传到hub上,一个是阿里云镜像仓库,还要其他服务器. 上传到hub上实在是太慢了,我的服务器用的是阿里云,所以选择上传到阿里云镜像仓库中. 前提条件:linu ...

  7. 将本地镜像上传到Docker镜像仓库

    ⒈在Docker Hub(Docker官方镜像仓库)注册自己的用户名. ⒉在Docker中使用docker login命令登录自己的用户名密码. ⒊使用docker push 镜像名称 上传本地镜像到 ...

  8. 本地docker镜像上传Docker Hub,并且在腾讯云上pull该镜像,最后运行成功。

    1:在docker hub 上注册一个账号(本人直接能注册,有的说不能),然后创建自己的仓库. 2:登录docker hub ( longdbdocker --hub账号,longdb --仓库名称) ...

  9. Docker 如何把镜像上传到docker hub

    1 首先你得准备一个hub 的帐号, 去 https://hub.docker.com 注册吧! 2 在hub那里新建一个仓库, 这个就类似于github那边的..create ---> cre ...

  10. docker镜像上传阿里云仓库

    推送至阿里云镜像:1.首先在阿里云上选择容器镜像服务,创建命名空间以及镜像仓库2. docker login --username=zhangshitongsky@163.com registry.c ...

随机推荐

  1. Java中实现多线程的四种方式

    Java多线程实现方式主要有四种:继承Thread类.实现Runnable接口.实现Callable接口通过FutureTask包装器来创建Thread线程.使用ExecutorService.Cal ...

  2. .Net Framework项目引用.NetStandard标准库出现版本冲突解决办法

    今天在工作中出现一个引用问题,害我找问题找了很久.起因是在一个Winform项目下需要引用一个.NetStandard标准库,标准库引用了System.ComponentModel.Annotatio ...

  3. 四种途径提高RabbitMQ传输消息数据的可靠性(一)

    前言 RabbitMQ虽然有对队列及消息等的一些持久化设置,但其实光光只是这一个是不能够保障数据的可靠性的,下面我们提出这样的质疑: (1)RabbitMQ生产者是不知道自己发布的消息是否已经正确达到 ...

  4. AspNetCore+Swagger 生成Model 描述

    AspNetCore+Swagger 生成Model 描述 前言: 本篇文章实现是基于上一篇文章,进下补充:多余的就不多说了,只是为了实现Model的描述生成:有兴趣的可以结合上一篇的进行实现:如有更 ...

  5. 委托的多线程方法BeginInvoke

    同步方法和异步方法: 同步方法调用在程序继续执行之前需要等待同步方法执行完毕返回结果.(比如烧水泡茶,需要等水烧开了才能继续泡茶) 异步方法则在被调用之后立即返回以便程序在被调用方法完成其任务的同时执 ...

  6. Java中数组的插入,删除,扩张

    Java中数组是不可变的,但是可以通过本地的arraycop来进行数组的插入,删除,扩张.实际上数组是没变的,只是把原来的数组拷贝到了另一个数组,看起来像是改变了. 语法: System.arrayc ...

  7. SuperMap iServer 在Linux 部署中问题总结

    SuperMap iServer 作为超图公司的云GIS服务器产品,一般是部署在Linux服务器上.下面把日常部署和使用过程中遇到的相关问题做以汇总. 1.部署iServer的第一步是要检查Linux ...

  8. 微信小程序之菜鸟入门教学(二)

    昨天学习了一些简单的概念,今天开始实际操作,通过搭建简单的计算器来学习小程序的架构 一.小程序框架 程序框架如上图所示.由此可见,框架的基本构成为: 1. app.js . app.wxss 2. a ...

  9. servlet之转发与重定向的区别

    转发(服务器端跳转):  一次请求 <jsp:forward> request.getRequestDispatcher("new.jsp").forward(requ ...

  10. 怪事年年有,今天特别多!org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'empno' not found. Available parameters are [emp, deptno, param1, param

    错误: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.Binding ...