docker base镜像

该博客详细介绍了如何基于CentOS7构建Docker镜像,包括设置工作目录、安装Java、OpenSSH及相关工具,配置SSH无密码登录,并进行安全性调整,如禁用密码登录,允许公钥认证。此外,还涉及时区设置和启动脚本的编写。
摘要由CSDN通过智能技术生成

FROM centos:7
MAINTAINER Skyroad service@skyroadsecurity.com
LABEL author=" Skyroad service@skyroadsecurity.com"
LABEL description="Skyroad Bigdata docker images"
#设置工作目录
WORKDIR /opt/bigdata
#COPY sources.list /etc/apt/sources.list
#这句只是来看看原始源的内容⾿
#RUN echo `cat /etc/apt/sources.list` 
#在做任何安装镜像之前都必要更新一下源⾿
RUN yum -y update
#使用-y 表示在遇到提示时,一律是YES。这在docker安装中是必须 的。因为docker 安装过程是无交互的⾿
RUN yum -y install java-1.8.0-openjdk-devel
RUN yum -y install openssh-clients openssh-server net-tools inetutils-ping
RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N "" &&\
    ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N "" &&\
    ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N ""

RUN yum -y install which

RUN mkdir /var/run/sshd

#设置登录密码
RUN echo 'root:root' | chpasswd
#修改配置文件确保root用户可以ssh登录
RUN sed -ri 's/^PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config
RUN sed -ri 's/^#PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config
#设置支持公钥登录
#RUN sed -ri 's/^RSAAuthentication\s+.*/RSAAuthentication yes/' /etc/ssh/sshd_config
#RUN sed -ri 's/^#RSAAuthentication\s+.*/RSAAuthentication yes/' /etc/ssh/sshd_config
RUN sed -ri 's/^PubkeyAuthentication\s+.*/PubkeyAuthentication yes/' /etc/ssh/sshd_config
RUN sed -ri 's/^#PubkeyAuthentication\s+.*/PubkeyAuthentication yes/' /etc/ssh/sshd_config
RUN sed -ri 's/^#AuthorizedKeysFile/AuthorizedKeysFile/' /etc/ssh/sshd_config
RUN sed -ri 's/UsePAM yes/#UsePAM yes/g' /etc/ssh/sshd_config
#RUN echo RSAAuthentication yes >> /etc/ssh/sshd_config

RUN sed -ri 's/^StrictHostKeyChecking\s+.*/StrictHostKeyChecking no/' /etc/ssh/ssh_config
RUN sed -ri 's/^#.*StrictHostKeyChecking\s+.*/StrictHostKeyChecking no/' /etc/ssh/ssh_config

#禁密码登廿
RUN sed -ri 's/^PasswordAuthentication\s+.*/PasswordAuthentication no/' /etc/ssh/sshd_config
RUN sed -ri 's/^#PasswordAuthentication\s+.*/PasswordAuthentication no/' /etc/ssh/sshd_config
#从网上抄的不知道有没有用的东西⾿
# SSH login fix. Otherwise user is kicked off after login
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd

#在所有安装操作完成后执行这一句可以清理安装缓存有助于减少镜像大小
#RUN rm -rf /var/lib/apt/lists/*
#ssh-keygen -t rsa -b 4096
#将无密码登录文件放在外面实现某个终端对容器的任意登录,还可以随时修改
#VOLUME /root/.ssh

RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

COPY run.sh run.sh
RUN chmod +x run.sh
#COPY edge edge
#ENV N2N_SER 0.0.0.0
WORKDIR /root
ADD .ssh.tar /root/
RUN chown root:root /root/.ssh
RUN chmod 700 /root/.ssh

RUN echo PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin>>/etc/profile
ENTRYPOINT /opt/bigdata/run.sh
#CMD [/bin/sh]

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值