1.修改Dockerfile 文件

#1.指定基础镜像,并且必须是第一条指令
#FROM alpine:latest
FROM alpine:3.10

#2.指明该镜像的作者和其电子邮件
MAINTAINER xyz "xyz@qq.com"

#3.在构建镜像时,指定镜像的工作目录,之后的命令都是基于此工作目录,如果不存在,则会创建目录
WORKDIR /usr/local/java

#4.将一些安装包复制到镜像中,语法:ADD/COPY <src>... <dest>
## ADD与COPY的区别:ADD复制并解压,COPY仅复制
ADD jdk-8u221-linux-x64.tar.gz /usr/local/java/
## glibc安装包如果从网络下载速度实在是太慢了,先提前下载复制到镜像中
COPY glibc-2.29-r0.apk /usr/local/java/
COPY glibc-bin-2.29-r0.apk /usr/local/java/
COPY glibc-i18n-2.29-r0.apk /usr/local/java/

#5.更新Alpine的软件源为阿里云,因为从默认官源拉取实在太慢了
RUN echo http://mirrors.aliyun.com/alpine/v3.10/main/ > /etc/apk/repositories && \
    echo http://mirrors.aliyun.com/alpine/v3.10/community/ >> /etc/apk/repositories
RUN apk update && apk upgrade

#6.运行指定的命令
## Alpine linux为了精简本身并没有安装太多的常用软件,apk类似于ubuntu的apt-get,
## 用来安装一些常用软V件,其语法如下:apk add bash wget curl git make vim docker
## wget是linux下的ftp/http传输工具,没安装会报错“/bin/sh:   wget: not found”,网上例子少安装wget
## ca-certificates证书服务,是安装glibc前置依赖
RUN apk --no-cache add ca-certificates wget \
    && wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub \
    && apk add glibc-2.29-r0.apk glibc-bin-2.29-r0.apk glibc-i18n-2.29-r0.apk \
    && rm -rf /var/cache/apk/* glibc-2.29-r0.apk glibc-bin-2.29-r0.apk glibc-i18n-2.29-r0.apk

#7.配置环境变量
ENV JAVA_HOME=/usr/local/java/jdk1.8.0_221
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH

2.将apk文件传进来

这里我们用的2.29版本的

3.将jdk-8u221-linux-x64.tar.gz文件导进来 

4.执行下载命令

docker build -t jdk:2.0 .

 这样就算成功了

5.修改为自己的镜像加速器地址

命令:vi /etc/docker/daemon.json

 6.执行命令

docker build -t jdk:3.0 .

7. 解压tar命令

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

8.导成压缩包命令 

tar -zcvf jre-8u221-linux-x64.tar.gz jre1.8.0_221/

 9.瘦身命令

#删除文本文件
rm -rf COPYRIGHT LICENSE README release THIRDPARTYLICENSEREADME-JAVAFX.txtTHIRDPARTYLICENSEREADME.txt Welcome.html
#删除其他无用文件
rm -rf lib/plugin.jar \
lib/ext/jfxrt.jar \
bin/javaws \
lib/javaws.jar \
lib/desktop \
plugin \
lib/deploy* \
lib/*javafx* \
lib/*jfx* \
lib/amd64/libdecora_sse.so \
lib/amd64/libprism_*.so \
lib/amd64/libfxplugins.so \
lib/amd64/libglass.so \
lib/amd64/libgstreamer-lite.so \
lib/amd64/libjavafx*.so \
lib/amd64/libjfx*.so

 10.阿里云中创建镜像命名空间以及镜像仓库

11.执行命令

docker login --username=橙黄色的脆皮金桔 registry.cn-hangzhou.aliyuncs.com

输入密码后执行:

docker tag 6cc16b3b3a02 registry.cn-hangzhou.aliyuncs.com/sjyy/sjy0513:1.0

12.挂载到阿里云

docker push registry.cn-hangzhou.aliyuncs.com/sjyy/sjy0513:1.0

13.为了模拟在别人的电脑中操作,将所有的镜像全部删除

docker rmi -f $(docker images)

 14.从阿里云上拉取镜像

docker pull registry.cn-hangzhou.aliyuncs.com/sjyy/sjy0513:1.0

15.创建容器

docker run -itd --name aliyun01 6cc16b3b3a02

16.进入容器

docker exec -it aliyun01 sh

17.挂载文件

docker run -it --name aliyun02 --mount type=bind,source=/home/zking,target=/zking 镜像名

 18.启动项目并指定域名

docker run -it -p 8080:8080 --name aliyun03 --mount type=bind,source=/home/zking,target=/zking 镜像名

docker镜像上传相关推荐

  1. docker 镜像上传至hub时报错,提示:denied: requested access to the resource is denied

    问题原因 命名问题.docker 镜像上传时要求tag格式为为docker用户名/镜像名 解决方案 docker tag 镜像名 docker用户名/镜像名 注意,这边docker有一个很大很大的坑, ...

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

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...

  3. Docker镜像上传到DockerHub和阿里容器仓库

    Docker镜像上传到私人仓库 push到Docker Hub 1.注册DockerHub账号 2.1 Dockerfile生成镜像 3. 运行Dockerfile文件生成镜像 4. 登陆Docker ...

  4. 本地打包Docker镜像上传至阿里云远程仓库(一站式脚本)

    打包镜像上传至远程仓库: 1. 本地项目为 mytest-project 2. 仓库为阿里云镜像仓库 registry.cn-beijing.aliyuncs.com/test/mytest-proj ...

  5. Docker镜像上传至私有仓库

    (1)标记此镜像为私有仓库的镜像 docker tag jdk1.8 192.168.184.141:5000/jdk1.8 (2)再次启动私服容器 docker start registry (3) ...

  6. 如何将CVAT的docker镜像上传到华为云镜像中心SWR

    1.打包 查看容器及其镜像 localhost:cvat xubo$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE openvino/cvat_ ...

  7. Docker 镜像上传到私有云和阿里云的超详细图文步骤

    打开阿里云登录账号打开控制台 阿里云-为了无法计算的价值 (aliyun.com) 进入控制台点击折叠框  找到容器服务里面的容器镜像服务  找到实例创建个人实例记住你输入的密码 创建命名空间 创建镜 ...

  8. docker镜像上传和下载

    一 注册docker账号并登录 https://hub.docker.com/ 二 在docker 宿主机上登录 docker login 三 使用docker tag 修改镜像的名字 推送镜像的规范 ...

  9. 将docker镜像上传到dockerhub

    注册dockerhub账号 首先要在 https://registry.hub.docker.com/ 注册dockerhub账号 然后,在命令行输入docker login,输入账号和密码 如果遇到 ...

最新文章

  1. 在CSDN中如何转载别人的博客
  2. EMD算法原理与python实现
  3. python画函数曲线-python画蝴蝶曲线图的实例
  4. Service的理解和使用
  5. “中国风”拯救国货彩妆?
  6. 深度优先搜索——单词方阵(洛谷 P1101)
  7. vue切换路由的时候,如何让右侧滚动条滚动到顶部呢?
  8. brew 无法安装iterm2_MAC 安装OhMyZsh问题记录
  9. 软件测试必读的七本书
  10. LinuxCentOS 7镜像下载
  11. DOS系统下控制串口(1)
  12. 决策树分析例题经典案例_决策树例题经典案例280_决策树在产品满意因素分析中的应用...
  13. IT项目开发团队建设与管理总结
  14. DAX 第八篇:【翻译】数据沿袭(Data Lineage )
  15. vc60.pdb打不开怎么办
  16. 手把手教你通过端口映射,轻松搭建Windows远程桌面
  17. 自制英语翻译(调用有道翻译接口)
  18. 品牌与Logo有什么区别?进来了解下
  19. 八种求职者最易被面试官拒绝
  20. How to Have a Healthy Relationship --shanbei 为单身节写

热门文章

  1. 表单报错:Password field is not contained in a form
  2. html下拉 小狗,html会动的小狗狗源码
  3. 「数据库知识」——SQL处理学生表
  4. Android毕业设计答辩会问什么问题,毕业论文答辩一般会问什么问题怎么回答
  5. C++读取局域网内其他计算机共享文件夹的文件
  6. 轻松掌握Notification的各种用法
  7. scrapy实战----将数据存储到csv文件和MySQL数据库中
  8. 东南大学和南京大学的计算机哪个好考,江苏最好的5所211除了南京大学和东南大学2所985,谁是第五有争议...
  9. springboot集成mybatis
  10. 晒晒这些让人崩溃的话