自定义镜像上传阿里云
alpine Linux简介
Alpine Linux是一个轻型Linux发行版
Alpine Linux提供了自己的包管理工具:apk
(注意:ubuntu中是apt-get,centos中式yum)
使用Dockerfile基于alpine制作JDK8镜像
1.下载镜像
docker pull alpine:3.10
在自己的目录(我这里是solar目录)
在目录下新建一个alpine目录待会基于这个目录操作
再在apline目录下新建一个jdk文件夹
将jdk压缩包上传到jdk目录中
我这里原来solar文件下jdk文件夹里就有一个,所以我直接复制一个过去
创建并编辑dockerfile
touch dockerfile
假设:/solar/alpine/jdk目录中
前提条件:
将三个相关文件上传到服务器跟Dockerfile平级目录
rz上传
编辑dockerfile
#1.指定基础镜像,并且必须是第一条指令
#FROM alpine:latest
FROM alpine:3.10
#2.指明该镜像的作者和其电子邮件
MAINTAINER xyz "xyz@qq.com"
#3.在构建镜像时,指定镜像的工作目录,之后的命令都是基于此工作目录,如果不存在,则会创建目录
WORKDIR /abc
#4.将一些安装包复制到镜像中,语法:ADD/COPY <src>... <dest>
## ADD与COPY的区别:ADD复制并解压,COPY仅复制
## 注意这里的宿主机上的jdk的包必须跟Dockerfile在同一目录下,所以事先需要把jdk-8u221-linux-x64.tar.gz的包复制到跟Dockerfile的同级的目录中
## 这里将jdk的包复制到镜像的工作目录/abc中的jdk目录下,所以最后配置jdk的环境变量应该为/abc/jdk/jdk1.8.0_221
ADD jdk-8u221-linux-x64.tar.gz /abc/jdk
## glibc安装包如果从网络下载速度实在是太慢了,先提前下载这三个到宿主机的跟Dockerfile同级的目录中,然后再从宿主机中复制到镜像中/zking/alpine目录中
COPY glibc-2.29-r0.apk /abc
COPY glibc-bin-2.29-r0.apk /abc
COPY glibc-i18n-2.29-r0.apk /abc
#5.更新Alpine的软件源为阿里云,因为从默认官源拉取实在太慢了
RUN echo http://mirrors.aliyun.com/alpine/v3.10/main/ > /etc/apk/repositories && \
echo