docker制作自己的镜像并上传dockerhub
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 images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
registry.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的更多相关文章
- Docker下打包FastDFS镜像以及上传遇到的问题
官方地址:https://github.com/happyfish100/fastdfs 一.先下载个包,然后解压(自己找个目录下载即可) [root@localhost soft]# wget ht ...
- 【docker】将Java jar文件生成镜像、上传镜像并生成镜像压缩文件
概述 将Springboot的web服务打包成Jar包后,自动化脚本将jar打包成镜像.上传镜像.并生成镜像的压缩文件: Dockerfile FROM 10.254.9.21/library/ora ...
- 【Docker】Maven打包SpringBoot项目成Docker镜像并上传到Harbor仓库(Eclipse、STS、IDEA、Maven通用)
写在前面 最近,在研究如何使用Maven将SpringBoot项目打包成Docker镜像并发布到Harbor仓库,网上翻阅了很多博客和资料,发现大部分都是在复制粘贴别人的东西,没有经过实践的检验,根本 ...
- Docker打包镜像并上传
Docker打包镜像并上传 登录 账号 docker login --username=yourusername 密码 yourPassword 推送到仓库 docker镜像打标签 docker ta ...
- Docker 容器更新,打包,上传到阿里云
上几章讲了镜像的拉取和运行. 这次来尝试如何将已经运行的容器打包,封装成镜像,并且上传到阿里云上,为了别的地方下载和使用更加的方便. 首先,进入镜像,如果不清楚地,可以看下上一章. [root@VM_ ...
- 构建一个java环境的centos系统镜像并上传到阿里云镜像仓库
编辑dockerfile 文件 FROM centos MAINTAINER zhaoweifeng ENV LANG en_US.UTF-8 RUN /bin/cp /usr/share/zonei ...
- Android如何制作自己的依赖库上传至github供别人下载使用
Android如何制作自己的依赖库上传至github供别人下载使用 https://blog.csdn.net/xuchao_blog/article/details/62893851
- Docker系列06—基于容器制作镜像并上传到Docker Registry
本文收录在容器技术学习系列文章总目录 1.制作镜像 1.1 镜像的生成途径 基于容器制作 dockerfile,docker build 本篇主要详细讲解基于容器制作镜像:基于dockerfile 制 ...
- Docker之Alpine制作镜像且上传至阿里云
目的: Alpine制作jdk镜像 Alpine制作jre镜像(瘦身) Docker镜像上传至阿里云 Alpine制作jdk镜像 alpine Linux简介 Alpine Linux是一个轻型Lin ...
随机推荐
- C/C++——指针,引用做函数形参
函数中的形参是普通形参的时,函数只是操纵的实参的副本,而无法去修改实参. 引用形参是对实参的直接操纵,指针形参是对 它所指向的值(*p) 的直接操纵,但是对于这个指针变量(p)来说,依然只是副本. 指 ...
- html字段验证
(1)连接去掉下划线:style="text-decoration:none" <a href="/example/html/lastpage.html" ...
- .net core RabbitMQ 消息队列
上篇我们说到erlang的安装,现在有了基础前提,就可以继续安装RabbitMQ了! 这里我选用的RabbitMQ版本是: PS:这个RabbitMQ版本是要对应前面erlang版本,所以前面我们安装 ...
- hibernate二级缓存实例
hibernate.cfg.xml <?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hibernate-configuration P ...
- 安卓混合开发——原生Java和H5交互,保证你一看就懂!
** 在Android开发中,越来越多的商业项目使用了Android原生控件与WebView进行混合开发,当然不仅仅就是显示一个WebView那么简单,有时候还需要本地Java代码与HTML中的Jav ...
- SQL Server 数据收缩
1. 数据库的相关属性 在MS中创建数据库时会为数据库分配初始的大小(如下图:数据库和日志两个文件),随着数据库的使用文件会逐渐增大.数据库文件大小的增加有两种方式: 自动增长:在自动增长中可以设置每 ...
- js清除浏览器缓存
浏览器缓存 所有的数据都可以存到服务器中,但这样并不高效,当我们访问网页的时候,一会卡顿,二会浪费服务器的存储空间,三会给服务器造成压力 浏览器缓存,可以提高网站性能和浏览器的速度,但对于需要经常更新 ...
- es6 入坑笔记(三)---数组,对象扩展
数组扩展 循环 arr.foreach(){ //回调函数 function(val,index,arr){ //val:当前读取到的数组的值,index:当前读取道德数组的索引,arr:当前的数组名 ...
- html5手机浏览器启动微信客户端支付实例
html5手机浏览器启动微信客户端支付实例,外部浏览器html5微信支付技术,如何在手机浏览器微信支付,在微信客户端外的移动端网页使用微信支付 首先在微信支付官网https://pay.weixin. ...
- TF-IDF介绍
TF-IDF是什么 TF-IDF是一种统计方法,用以评估一个词对于一篇文章或语料库中一篇文章的重要性.字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降. T ...