021-docker镜像多版本tag-alpine,slim,stretch,jessie
一、概述
不同的tag表示基于不同的base image。
Jessie stretch wheezy 都是 Debian 发行版本的代称。Jessie 杰西, 是2015年发行的。wheezy 是 2013年发行的。
alpine 和Debian 一样 都是Linux的发行版本,特点是非常小,只有5M。 小到连bash都没有,不过有类似的ash。这也是官方非常推荐的,适合作为基础镜像。
带 slim 的就是瘦身版,如 Jessie-slim 。
二、简介
2.1、Alpine Linux 与Alpine Linux Docker
Alpine Linux Docker镜像基于Alpine Linux操作系统,后者是一个面向安全的轻型Linux发行版。
不同于通常Linux发行版,Alpine Linux采用了musl libc和busybox以减小系统的体积和运行时资源消耗。最小的Docker镜像只有5MB
在保持瘦身的同时,Alpine Linux还提供了自己的包管理工具apk,可以在其网站上查询,或者直接通过apk命令查询和安装。
2.1.1、源
# Alpine的源文件为: /etc/apk/repositories, # 默认的源地址为:http://dl-cdn.alpinelinux.org/ #可以编辑源文件 /etc/apk/repositories, #采用国内阿里云的源,文件内容为: https://mirrors.aliyun.com/alpine/v3.6/main/ https://mirrors.aliyun.com/alpine/v3.6/community/ # 如果采用中国科技大学的源,文件内容为: https://mirrors.ustc.edu.cn/alpine/v3.6/main/ https://mirrors.ustc.edu.cn/alpine/v3.6/community/
2.1.2、软件包管理工具apk的基本使用
alpine 提供了非常好用的apk软件包管理工具,可以方便地安装、删除、更新软件。
#查询openssh相关的软件包
apk search openssh
#安装一个软件包
apk add xxx
#删除已安装的xxx软件包
apk del xxx
#获取更多apk包管理的命令参数
apk --help
#比如安装常用的网络相关工具: #更新软件包索引文件 apk update #用于文本方式查看网页,用于测试http协议 apk add curl #提供了查看网络连接的协议端口的命令ss,可以替代netstat命令 apk add iproute2 #drill 命令可以替代dig和nslookup DNS查询命令 apk add drill #测试192.168.3.166的80端口,查看web服务是否能正常访问。 curl 192.168.3.166 #查看建立的TCP连接 ss -ta #查询域名的信息 drill blog.csdn.net @8.8.8.8 #根据IP地址,反向查找域名 drill -x 8.8.8.8 @47.94.71.34
ssh
#安装openssh-server服务器 apk add openssh-server #修改配置文件 /etc/ssh/sshd_config, #如果要想使用root用户远程管理,需要修改参数为: PermitRootLogin yes #将ssh服务配置为开机自动启动 rc-update add sshd #如果你想立刻生效,可以执行命令: /etc/init.d/sshd restart
更多:https://blog.csdn.net/csdn_duomaomao/article/details/76152416
2.1.3、基于alpine的docker安装软件其他
切换源:
# 替换阿里云的源 RUN echo "http://mirrors.aliyun.com/alpine/latest-stable/main/" > /etc/apk/repositories RUN echo "http://mirrors.aliyun.com/alpine/latest-stable/community/" >> /etc/apk/repositories
安装unzip
RUN apk --update add unzip
安装宋体字【需要提前下载字体文件】
RUN apk add ttf-dejavu COPY ./SimSun.ttf /usr/share/fonts/SimSun.ttf RUN fc-list
2.1.4、包管理地址
Alpine https://pkgs.org/search/?q=unzip
Telnet安装
很多镜像是使用alpine作为基础镜像,体积小,但apline精简了很多基础组件因此调试起来很麻烦,下方总结了常用的alpine组件安装方法:
镜像加速 sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories 将原装的alpine库替换成国内的ustc库
apk库更新 apk update
安装curl apk add curl
安装telnet apk add busybox-extras
偷懒N合1 sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories && apk update && apk add curl && apk add busybox-extras
2.2、基于Debian的镜像【目前官方默认使用】
Ubuntu基于Debian发行版和GNOME桌面环境
ubutun 离线包 :https://packages.ubuntu.com/