1.首先注册自己的dockerhub账号,注册地址:https://hub.docker.com

2.在linux服务器登录自己的账号:docker login --username=qiaoyeye

3.在https://hub.docker.com/上先找到自己想要的镜像

4.拉取镜像到本地:docker pull centos

5.本地准备jdk和tomcat软件,解压后放入服务器

6.新建Dockerfile文件,注意区分大小写

#---------------------------------------------------------------------

#This is a comment注释

#使用基础镜像centos:latest

FROM centos:latest
#指定镜像创建者信息 MAINTAINER qiaoyeye <<A href="mailto:softadmin@163.com@163.com">softadmin@163.com> #切换镜像的目录,进入/usr目录(基础镜像是一个linux系统,可参照linux查看相应目录)
WORKDIR /usr #在/usr/下创建java目录,用来存放jdk
RUN mkdir java #切换镜像的目录至/usr/java
WORKDIR /usr/java #在/usr/java下创建jdk目录,用来存放jdk文件
RUN mkdir jdk #切换镜像的目录至/usr/java/jdk
WORKDIR /usr/java/jdk #将宿主机的jdk目录下的全部文件考入至镜像的/usr/java/jdk目录下
ADD jdk /usr/java/jdk #切换镜像的目录至/opt
WORKDIR /opt #在/opt下创建tomcat目录,用来存放tomcat文件
RUN mkdir tomcat #将宿主机的tomcat目录下的全部文件考入至镜像的/opt/tomcat目录下
ADD tomcat /opt/tomcat #设置环境变量 ENV JAVA_HOME=/usr/java/jdk
ENV JAVA_BIN=/usr/java/jdk/bin
ENV PATH=$PATH:$JAVA_HOME/bin
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar #设置容器启动时执行的操作 CMD /opt/tomcat/bin/catalina.sh run #---------------------------------------------------------------------

7.制作镜像:docker build -t qiaoyeye/centos:latest .

注意带最后面的一个点

8.查看制作的镜像 docker images

9.上传镜像值hub仓库。

docker push qiaoyeye/centos:latest

10.如果上传的镜像不是你的dockerhub和镜像名:Docker ID/仓库名,就先用:docker tag 镜像ID Docker ID/仓库名:新的标签名(tag)

sudo docker tag bd213262aa2c qiaoyeye/centos:latest

11.上传成功后,登录自己的dockerhub,查看

PS:怎么将镜像上传至阿里云???

上传镜像至阿里云的步骤同上,详细餐卡官方说明:https://cr.console.aliyun.com/repository/cn-beijing/qiaoyeye/test1/details

1. 登录阿里云Docker Registry

$ sudo docker login --username=乔叶叶 registry.cn-beijing.aliyuncs.com

用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。

您可以在产品控制台首页修改登录密码。

2. 从Registry中拉取镜像

$ sudo docker pull registry.cn-beijing.aliyuncs.com/qiaoyeye/test1:[镜像版本号]

3. 将镜像推送到Registry

$ sudo docker login --username=乔叶叶 registry.cn-beijing.aliyuncs.com$ sudo docker tag [ImageId] registry.cn-beijing.aliyuncs.com/qiaoyeye/test1:[镜像版本号]$ sudo docker push registry.cn-beijing.aliyuncs.com/qiaoyeye/test1:[镜像版本号]

请根据实际镜像信息替换示例中的[ImageId]和[镜像版本号]参数。

4. 选择合适的镜像仓库地址

从ECS推送镜像时,可以选择使用镜像仓库内网地址。推送速度将得到提升并且将不会损耗您的公网流量。

如果您使用的机器位于经典网络,请使用 registry-internal.cn-beijing.aliyuncs.com 作为Registry的域名登录,并作为镜像命名空间前缀。

如果您使用的机器位于VPC网络,请使用 registry-vpc.cn-beijing.aliyuncs.com 作为Registry的域名登录,并作为镜像命名空间前缀。

5. 示例

使用"docker tag"命令重命名镜像,并将它通过专有网络地址推送至Registry。

$ sudo docker imagesREPOSITORY                                                         TAG                 IMAGE ID            CREATED             VIRTUAL SIZEregistry.aliyuncs.com/acs/agent                                    0.7-dfb6816         37bb9c63c8b2        7 days ago          37.89 MB$ sudo docker tag 37bb9c63c8b2 registry-vpc.cn-beijing.aliyuncs.com/acs/agent:0.7-dfb6816

使用"docker images"命令找到镜像,将该镜像名称中的域名部分变更为Registry专有网络地址。

$ sudo docker push registry-vpc.cn-beijing.aliyuncs.com/acs/agent:0.7-dfb6816

 

docker制作自己的镜像并上传dockerhub的更多相关文章

  1. Docker下打包FastDFS镜像以及上传遇到的问题

    官方地址:https://github.com/happyfish100/fastdfs 一.先下载个包,然后解压(自己找个目录下载即可) [root@localhost soft]# wget ht ...

  2. 【docker】将Java jar文件生成镜像、上传镜像并生成镜像压缩文件

    概述 将Springboot的web服务打包成Jar包后,自动化脚本将jar打包成镜像.上传镜像.并生成镜像的压缩文件: Dockerfile FROM 10.254.9.21/library/ora ...

  3. 【Docker】Maven打包SpringBoot项目成Docker镜像并上传到Harbor仓库(Eclipse、STS、IDEA、Maven通用)

    写在前面 最近,在研究如何使用Maven将SpringBoot项目打包成Docker镜像并发布到Harbor仓库,网上翻阅了很多博客和资料,发现大部分都是在复制粘贴别人的东西,没有经过实践的检验,根本 ...

  4. Docker打包镜像并上传

    Docker打包镜像并上传 登录 账号 docker login --username=yourusername 密码 yourPassword 推送到仓库 docker镜像打标签 docker ta ...

  5. Docker 容器更新,打包,上传到阿里云

    上几章讲了镜像的拉取和运行. 这次来尝试如何将已经运行的容器打包,封装成镜像,并且上传到阿里云上,为了别的地方下载和使用更加的方便. 首先,进入镜像,如果不清楚地,可以看下上一章. [root@VM_ ...

  6. 构建一个java环境的centos系统镜像并上传到阿里云镜像仓库

    编辑dockerfile 文件 FROM centos MAINTAINER zhaoweifeng ENV LANG en_US.UTF-8 RUN /bin/cp /usr/share/zonei ...

  7. Android如何制作自己的依赖库上传至github供别人下载使用

    Android如何制作自己的依赖库上传至github供别人下载使用 https://blog.csdn.net/xuchao_blog/article/details/62893851

  8. Docker系列06—基于容器制作镜像并上传到Docker Registry

    本文收录在容器技术学习系列文章总目录 1.制作镜像 1.1 镜像的生成途径 基于容器制作 dockerfile,docker build 本篇主要详细讲解基于容器制作镜像:基于dockerfile 制 ...

  9. Docker之Alpine制作镜像且上传至阿里云

    目的: Alpine制作jdk镜像 Alpine制作jre镜像(瘦身) Docker镜像上传至阿里云 Alpine制作jdk镜像 alpine Linux简介 Alpine Linux是一个轻型Lin ...

随机推荐

  1. 【vue】父向子组件传参、子组件向父传参

    1.父向子组件传参 App.vue为父,引入componetA组件之后,则可以在App.vue中使用标签(注意驼峰写法要改成componet-a写法,因为html对大小写不敏感,componenta与 ...

  2. 使用java.util.List的subList方法进行分页

    java.util.List中有一个subList方法,用来返回一个list的一部分视图. List<E> subList(int fromIndex, int toIndex); 它返回 ...

  3. PAT——1072. 开学寄语(20)

    下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其QQ,封其电脑,夺其手机,收其ipad,断其wifi,使其百无聊赖,然后,净面.理发.整衣,然后思过.读书.锻炼.明智.开悟.精进 ...

  4. sdn测量综述

    一 文章名称:A Survey on Security-Aware Measurement in SDN 发表时间:2018 来源:<Security & Communication N ...

  5. Kmalloc和Vmalloc的区别

    kmalloc()和vmalloc()介绍kmalloc()用于申请较小的.连续的物理内存1. 以字节为单位进行分配,在<linux/slab.h>中2. void *kmalloc(si ...

  6. webpack+vuecli使用问题总结

    1,按照官网安装步骤install $ npm install -g vue-cli $ vue init webpack my-project $ cd my-project $ npm insta ...

  7. ABAP术语-V2 Module

    V2 Module 原文:http://www.cnblogs.com/qiangsheng/archive/2008/03/21/1115720.html Analogously to V1 the ...

  8. 怎样在Win7系统中搭建Web服务器

    一.搭建web服务 1.打开控制面板,选择并进入“程序”,双击“打开或关闭Windows服务”,在弹出的窗口中选择“Internet信息服务”下面所有的选项,点击确定后,开始更新服务. 2.更新完成后 ...

  9. java 加载并读取Properties 文件

    1 .系统自带的application.properties  (以下代码仅供参考,不能粘贴复制) 假设application.properties文件有下面两个值: come.test.name = ...

  10. BugFree后台统计Bug信息

    以下为二维表信息 //统计严重等级Bug SELECT severity,count(severity) FROM `bf_bugview` where product_id=476 GROUP BY ...