linux docker镜像初始化
简介
有的镜像内部使用的linux系统特别精简,许多常用命令无法安装,导致排查问题较为困难。
可以使用cat /etc/os-release
查看容器使用的linux版本,再进行一些常用操作的初始化。
Debian
# 设置镜像源
RUN rm -f /etc/apt/sources.list.d/* && echo '\
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware\n\
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware\n\
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware\n\
deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware\n\
' > /etc/apt/sources.list# 安装基础软件
RUN apt-get update \&& apt-get install -y --no-install-recommends curl wget vim less net-tools telnet procps openssh-serverRUN ssh-keygen -A && mkdir -p /run/sshd
# debug模式运行sshd服务(占用前台进程不退出)
ENTRYPOINT ["/usr/sbin/sshd", "-D"]## 添加logopr用户
RUN useradd -m logopr && echo 'logopr:123456' | chpasswd \&& mkdir -p /home/logopr/.ssh/ && chmod 700 /home/logopr/.ssh/ \&& echo 'replace with logopr public key' >> /home/logopr/.ssh/authorized_keys && chmod 600 /home/logopr/.ssh/authorized_keys \&& chown -R logopr:logopr /home/logopr/.ssh
Alpine Linux
## 安装软件
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories \&& apk update && apk add curl openssh## 添加logopr用户
RUN adduser -D logopr && echo 'logopr:123456' | chpasswd \&& mkdir -p /home/logopr/.ssh/ && chmod 700 /home/logopr/.ssh/ \&& echo 'replace with logopr public key' >> /home/logopr/.ssh/authorized_keys && chmod 600 /home/logopr/.ssh/authorized_keys \&& chown -R logopr:logopr /home/logopr/.ssh## 创建ssh的所有文件
RUN ssh-keygen -A
## debug模式运行sshd服务(占用前台进程不退出)
ENTRYPOINT ["/usr/sbin/sshd", "-D"]