自定义镜像上传到阿里云

目录

1. 基于alpine制作JDK8镜像

1.下载镜像

2.创建并编辑dockerfile

3.执行dockerfile创建镜像

4.创建并启动容器

5.进入容器

6.测试jdk

2. Docker容器之最小JDK基础镜像

   1.首先下载jre

   2.rz上传至ubuntu,并删除无用的文件,并重新压缩

   3.创建并编辑dockerfile

   4.执行dockerfile创建镜像

   5.创建并启动容器

   6.进入容器   

   7.测试jdk

3. 将自定义镜像上传至阿里云(或从阿云下载镜像)

前期准备

4. Docker commit 命令


1. 基于alpine制作JDK8镜像

1.下载镜像

docker pull alpine:3.10

2.创建并编辑dockerfile

创建:touch Dockerfile 
编辑:vi Dockerfile 

3.执行dockerfile创建镜像

docker build -t jdk8:v2.0 .

4.创建并启动容器

docker create -it jdk8:v2.0    
docker start 容器ID

5.进入容器

docker exec -it 容器ID /bin/sh

   注1:最后是sh而非bash

6.测试jdk

java -version

   ① docker exec -it 容器ID /bin/sh 默认使用当前帐号(即root)登入,通过whoami命令可以查看当前用户名,
        还可以通过如下命令切换到其它帐号
        docker exec -it --user root <容器ID> /bin/sh  

   ② openjdk:8-jdk-alpine这个镜像就和我们自己创建的镜像是一样,只不过JDK瘦身过了,体积更小

   ③ 最后制作完成后的镜像大小为400M左右

2. Docker容器之最小JDK基础镜像

   1.首先下载jre

下载地址是https://www.java.com/en/download/manual.jsp,大概是77M。

   2.rz上传至ubuntu,并删除无用的文件,并重新压缩

       2.1解压

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

       2.2查看jre大小(瘦身前230M)

        du -sh jre1.8.0_221

       2.3进入jre目录,并执行瘦身命令

        cd jre1.8.0_221

        #执行瘦身命令(瘦身后111M)

        #返回上级目录,重新打包jre

        cd ..

        tar zcvf jre1.8.0_221.tar.gz jre1.8.0_221

   3.创建并编辑dockerfile

        注:http://t.csdn.cn/ToRbF

   4.执行dockerfile创建镜像

docker build -t jdk8:v3.0 .

   5.创建并启动容器

docker create -it jdk8:v3.0    
docker start 容器ID

   6.进入容器   

docker exec -it 容器ID /bin/sh 

   7.测试jdk

java -version


   ① openjdk:8-jdk-alpine这个镜像就和我们自己创建的镜像是一样,只不过JDK瘦身过了,体积更小。

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

        date

3. 将自定义镜像上传至阿里云(或从阿云下载镜像)

前期准备

1.注册阿里云账户

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

2.登陆账户

3.配置Docker加速器

4.创建镜像仓库的命名空间

        例如:xyzxyz

5.创建镜像仓库(创建镜像仓库时要绑定一个代码托管网站,例如:github)

        例如:image-test

   重要的事情说三遍:请将URL改成自己的阿里云的地址~~~请将URL改成自己的阿里云的地址~~~请将URL改成自己的阿里云的地址~~~

        push(推)镜像

        将镜像推送到Registry

   5.1.登录到阿里云的doker仓库,--username为阿里云的用户名,另外,密码为开通镜像服务时设置的密码,忘记密码可以点击菜单:“容器镜像服务”->“默认实例”-->“访问凭证”进行修改

        docker login --username=yanppp2018 registry.cn-hangzhou.aliyuncs.com

   5.2.为本地镜像添加tag

        docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/xyzxyz/image-test:[镜像版本号]

   5.3.推送镜像(jdk8-alpine:1.0)

        docker push registry.cn-hangzhou.aliyuncs.com/xyzxyz/image-test:[镜像版本号]

    pull(拉)镜像

        5.3.1.登录到阿里云的doker仓库

        sudo docker login --username=yanppp2018 registry.cn-hangzhou.aliyuncs.com

        5.3.2从Registry中拉取镜像

        sudo docker pull registry.cn-hangzhou.aliyuncs.com/xyzxyz/image-test:[镜像版本号]


   注:仓库(Repository )是集中存放镜像的地方,又分公共仓库和私有仓库
        有时候容易把仓库与注册服务器( Regis盯)混淆 实际上 册服务器是存放仓库的具
        体服务器, 个注册服务器上可以有多个仓库,而每个仓库下面可以有多个镜像 

4. Docker commit 命令

   1.下载基础镜像

   2.使用此基础镜像创建/启动/进入容器

   3.在容器安装自己需要的软件

   4.将保存配置完成的容器提交成镜像
   
   语法如下

        docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

   OPTIONS说明:

        -a:提交的镜像作者。

        -c:使用Dockerfile指令来创建镜像。

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

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

实例:将容器a404c6c174a2 保存为新的镜像,并添加提交人信息和说明信息

docker commit -a "runoob.com" -m "my apache" a404c6c174a2  mymysql:v1

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值