自定义镜像上传阿里云
作者:互联网
提示:仅供参考
文章目录
- 前言
- 一、Alpine Linux简介&Alpine Linux常用
- 二、Docker容器之最小JDK基础镜像
- 三、Docker commit 命令
- 总结
多记多练
提示:以下是本篇文章正文内容,下面案例可供参考
前言
1.Alpine Linux是一个轻型Linux发行版,它不同于通常的Linux发行版,Alpine采用了musl libc 和
BusyBox以减少系统的体积和运行时的资源消耗。
2.Alpine Linux提供了自己的包管理工具:apk(注意:centos中是yum),我们可以通过https://pkgs.alpinelinux.org/packages 查询包信息
3.Alpine Docker镜像继承了Alpine Linux发行版的这些优势,相比于其他Linux Docker镜像,它的体积非常小
对比常用的、没有压缩过的基础镜像(查看当前的:latest标签):
Alpine - 4.8MB
Ubuntu - 124.8 MB
Debian - 125.1MB
Centos - 196MB
4.建议使用Alpine Linux 3.10.0版本,这也是 v3.10 稳定系列的首个版本
alpine:3.10
2.使用步骤
1.基于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.0docker start 容器ID
#5.进入容器
docker exec -it 容器ID /bin/sh
注1:最后是sh而非bash
#6.测试jdk
java -version
2. Docker容器之最小JDK基础镜像
#1.首先下载jre,下载地址是https://www.java.com/en/download/manual.jsp,大概是77M
资料/jre-8u221-linux-x64.tar.gz#2.rz上传至ubuntu,并删除无用的文件,并重新压缩
#解压
tar -zxvf jre-8u221-linux-x64.tar.gz
#查看jre大小(瘦身前230M)
du -sh jre1.8.0_221
#进入jre目录,并执行瘦身命令
cd jre1.8.0_221
#执行瘦身命令(命令见资料,瘦身后111M)
#返回上级目录,重新打包jre
cd ..
tar zcvf jre1.8.0_221.tar.gz jre1.8.0_221
#3.创建并编辑dockerfile
注1:dockerfile内容见资料/Dockerfile-Alpine-min.txt
#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
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 mym
总结
多记多练
标签:容器,自定义,dockerfile,Linux,镜像,docker,上传,Alpine 来源: https://blog.csdn.net/zking_sa/article/details/123611661