自定义镜像上传阿里云

一、alpine Linux简介

1、Alpine Linux是一个轻型Linux发行版
2、Alpine Linux提供了自己的包管理工具:apk(注意:ubuntu中是apt-get,centos中式yum)

1.Alpine Linux是一个轻型Linux发行版,它不同于通常的Linux发行版,Alpine采用了musl libc 和 BusyBox以减少系统的体积和运行时的资源消耗。

2.Alpine Linux提供了自己的包管理工具:apk(注意:ubuntu中是apt-get,centos中式yum),我们可以通过https://pkgs.alpinelinux.org/packages 查询包信息

3.Alpine Docker镜像继承了Alpine Linux发行版的这些优势,相比于其他Linux Docker镜像,它的体积非常小
对比常用的、没有压缩过的基础镜像(查看当前的:latest标签):
Alpine - 5.5MB
Ubuntu - 124.8 MB
Debian - 125.1MB
Centos - 220MB

4.建议使用Alpine Linux 3.10.0版本,这也是 v3.10 稳定系列的首个版本
alpine:3.10

二、基于alpine制作JDK8镜像

1 下载镜像   
$ docker pull alpine:3.10

2 创建并编辑Dockerfile

$ touch Dockerfile 

$ vi Dockerfile 
`注1:Dockerfile内容见资料/Dockerfile-Alpine.txt`

3 执行Dockerfile创建镜像

$ docker build -t jdk8:v2.0 .

4 创建并启动容器

$ docker create -it jdk8:v2.0    
$ docker start 容器ID
或者
$ docker run -it -d --name tomcat01 jdk8:v2.0 /bin/sh

5 进入容器   

$ docker exec -it 容器名字 /bin/sh 

`注1:最后是sh而非bash`

6 测试jdk

$ java -version

三、Docker容器之最小JRE基础镜像

一个完整的jdk包包含了 jdk(开发坏境) 和 jre(运行坏境)
jdk用于开发坏境,jre用于运行坏境

1、 首先下载jre,下载地址是https://www.java.com/en/download/manual.jsp,大概是77M
资料/jre-8u221-linux-x64.tar.gz

2、 把资料中的jre上传至/alpine,删除无用的文件,并重新压缩

3、将jre的jar包上传至服务器中,然后解压

tar -zxvf jre-8u221-linux-x64.tar.gz

4、给jre瘦身

1.查看jre大小(瘦身前229M)
cd /alpine/jre
du -sh jre1.8.0_221

2.进入jre目录,并执行瘦身命令
cd jre1.8.0_221
du -sh jre1.8.0_221

3.返回上级目录,重新打包jre
cd /alpine/jre
tar -zcf jre1.8.0_221.tar.gz jre1.8.0_221

5、创建并编辑Dockerfile

参照此博客连接

6、执行Dockerfile创建镜像

	docker build -t jdk8:v3.0 .
	`注意  点`

7、创建并启动容器

docker run -it -d jdk8:v3.0 /bin/sh		

8、进入容器

	docker exec -it 容器ID /bin/sh 

9、测试jdk

	java -version

注2:Alpine制作JDK8镜像是有时区问题的,可以使用时区查看命令看一下 date

四、 将Docker镜像上传至阿里云(或从阿云下载镜像)

阿里云官方网站链接:https://dev.aliyun.com

1.前期准备
登陆阿里云,搜索【容器镜像服务】
配置Docker加速器
创建命名空间
创建镜像仓库(创建镜像仓库时要绑定一个代码托管网站,例如:github)
点击对应镜像仓库列表后的管理:
上传和下载镜像的相关命令都在管理里面有详细说明

  1. push(推)镜像
    登录阿里云
    密码并不是登录阿里云的密码,而是在访问凭证里面设置的固定密码
    docker login --username=17674762082 registry.cn-hangzhou.aliyuncs.com
    修改镜像的名字,让它符合阿里云的规则
    镜像id就是刚刚瘦身后的jre,相当于把jre做了一次克隆,克隆后的标签满足了阿里云的规则,然后上传
    docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/zking220/t220:[镜像版本号]
    把镜像上传到阿里云,成功后点击对应的管理,在镜像版本里面可以看到刚刚上传的镜像
    docker push registry.cn-hangzhou.aliyuncs.com/zking220/t220:[镜像版本号]

3.pull(拉)镜像
登录阿里云
docker login --username=17674762082 registry.cn-hangzhou.aliyuncs.com
从阿里云上下载镜像
docker pull registry.cn-hangzhou.aliyuncs.com/zking220/t220:[镜像版本号]

一次性停止并且删除所有容器命令
docker stop ${docker ps -aq}&&docker rm ${docker ps -aq}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值