docker镜像上传
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镜像上传相关推荐
- docker 镜像上传至hub时报错,提示:denied: requested access to the resource is denied
问题原因 命名问题.docker 镜像上传时要求tag格式为为docker用户名/镜像名 解决方案 docker tag 镜像名 docker用户名/镜像名 注意,这边docker有一个很大很大的坑, ...
- 如何将docker 镜像上传到docker hub仓库
Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...
- Docker镜像上传到DockerHub和阿里容器仓库
Docker镜像上传到私人仓库 push到Docker Hub 1.注册DockerHub账号 2.1 Dockerfile生成镜像 3. 运行Dockerfile文件生成镜像 4. 登陆Docker ...
- 本地打包Docker镜像上传至阿里云远程仓库(一站式脚本)
打包镜像上传至远程仓库: 1. 本地项目为 mytest-project 2. 仓库为阿里云镜像仓库 registry.cn-beijing.aliyuncs.com/test/mytest-proj ...
- Docker镜像上传至私有仓库
(1)标记此镜像为私有仓库的镜像 docker tag jdk1.8 192.168.184.141:5000/jdk1.8 (2)再次启动私服容器 docker start registry (3) ...
- 如何将CVAT的docker镜像上传到华为云镜像中心SWR
1.打包 查看容器及其镜像 localhost:cvat xubo$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE openvino/cvat_ ...
- Docker 镜像上传到私有云和阿里云的超详细图文步骤
打开阿里云登录账号打开控制台 阿里云-为了无法计算的价值 (aliyun.com) 进入控制台点击折叠框 找到容器服务里面的容器镜像服务 找到实例创建个人实例记住你输入的密码 创建命名空间 创建镜 ...
- docker镜像上传和下载
一 注册docker账号并登录 https://hub.docker.com/ 二 在docker 宿主机上登录 docker login 三 使用docker tag 修改镜像的名字 推送镜像的规范 ...
- 将docker镜像上传到dockerhub
注册dockerhub账号 首先要在 https://registry.hub.docker.com/ 注册dockerhub账号 然后,在命令行输入docker login,输入账号和密码 如果遇到 ...
最新文章
- 在CSDN中如何转载别人的博客
- EMD算法原理与python实现
- python画函数曲线-python画蝴蝶曲线图的实例
- Service的理解和使用
- “中国风”拯救国货彩妆?
- 深度优先搜索——单词方阵(洛谷 P1101)
- vue切换路由的时候,如何让右侧滚动条滚动到顶部呢?
- brew 无法安装iterm2_MAC 安装OhMyZsh问题记录
- 软件测试必读的七本书
- LinuxCentOS 7镜像下载
- DOS系统下控制串口(1)
- 决策树分析例题经典案例_决策树例题经典案例280_决策树在产品满意因素分析中的应用...
- IT项目开发团队建设与管理总结
- DAX 第八篇:【翻译】数据沿袭(Data Lineage )
- vc60.pdb打不开怎么办
- 手把手教你通过端口映射,轻松搭建Windows远程桌面
- 自制英语翻译(调用有道翻译接口)
- 品牌与Logo有什么区别?进来了解下
- 八种求职者最易被面试官拒绝
- How to Have a Healthy Relationship --shanbei 为单身节写
热门文章
- 表单报错:Password field is not contained in a form
- html下拉 小狗,html会动的小狗狗源码
- 「数据库知识」——SQL处理学生表
- Android毕业设计答辩会问什么问题,毕业论文答辩一般会问什么问题怎么回答
- C++读取局域网内其他计算机共享文件夹的文件
- 轻松掌握Notification的各种用法
- scrapy实战----将数据存储到csv文件和MySQL数据库中
- 东南大学和南京大学的计算机哪个好考,江苏最好的5所211除了南京大学和东南大学2所985,谁是第五有争议...
- springboot集成mybatis
- 晒晒这些让人崩溃的话