alpine包管理apk基本命令,下面介绍一些常用的包管理命令:
1.更新最新镜像源列表:apk update
apk update
2.搜索软件包:apk search
apk search 查找所以可用软件包
apk search -v 查找所以可用软件包及其描述内容
apk search -v ‘acf*’ 通过软件包名称查找软件包
apk search -v -d ‘docker’ 通过描述文件查找特定的软件包
3.安装软件包:apk add
apk add openssh 安装一个软件
apk add openssh openntp vim 安装多个软件
apk add –no-cache mysql-client 不使用本地镜像源缓存,相当于先执行update,再执行add
4.列出已安装的软件包:apk info
apk info 列出所有已安装的软件包
apk info -a zlib 显示完整的软件包信息
apk info –who-owns /sbin/lbu 显示指定文件属于的包
5.升级软件版本:apk upgrade
apk upgrade 升级所有软件
apk upgrade openssh 升级指定软件
apk upgrade openssh openntp vim 升级多个软件
apk add –upgrade busybox 指定升级部分软件包
6.删除软件包:apk del
apk del openssh 删除一个软件
使用alpine系统构建基础镜像
基础alpine镜像
FROM alpine:3.9.2
更新最新镜像源列表
RUN apk update
设置Docker 时间为上海时区
RUN apk add -U tzdata
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo Asia/shanghai >> /etc/timezone
依次安装命令:curl、scp、telnet
RUN apk add curl
RUN apk add openssh-client
RUN apk add busybox-extras
例子:
FROM java:8-alpine
RUN apk update
RUN apk add -U tzdata
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo Asia/shanghai >> /etc/timezone
RUN apk add curl
RUN apk add openssh-client
ENTRYPOINT top
构建过程中遇到的一些问题
1.如何打包curl、scp、telnet基本命令至镜像中
添加RUN命令,采用apk add 的方式添加所需的软件包
更新最新镜像源列表
RUN apk update
依次安装命令curl、scp、telnet
RUN apk add curl
RUN apk add openssh-client
RUN apk add busybox-extras
2.如何更新为中国时区
alpine中没有时区数据包,如果单单拷贝本机的时区文件进docker镜像中,会抛出类似以下的异常:
因此,需先在alpine镜像中安装timezone 数据包,再拷贝文件
设置Docker 时间为上海时区
RUN apk add -U tzdata
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo Asia/shanghai >> /etc/timezone