https://www.cnblogs.com/dfengwei/p/7144937.html

  1. FROM openjdk:8-jre
  2. #声明CATALINA_HOME环境变量,这个变量大家都了解。
  3. ENV CATALINA_HOME /usr/local/tomcat
  4. #将Tomcat下的bin路径加入到PATH环境变量中。
  5. ENV PATH $CATALINA_HOME/bin:$PATH
  6. #创建tomcat路径。
  7. RUN mkdir -p "$CATALINA_HOME"
  8. #指定RUN、CMD、ENTRYPOINT命令的当前工作路径。
  9. WORKDIR $CATALINA_HOME
  10. #Tomcat相关文件的版本。
  11. ENV TOMCAT_MAJOR 8
  12. ENV TOMCAT_VERSION 8.5.16
  13. #Tomcat相关文件下载地址。
  14. ENV TOMCAT_TGZ_URL https://www.apache.org/dyn/closer.cgi?action=download&filename=tomcat/tomcat-$TOMCAT_MAJOR/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz
  15. ENV TOMCAT_ASC_URL https://www.apache.org/dist/tomcat/tomcat-$TOMCAT_MAJOR/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz.asc
  16. #执行命令
  17. RUN set -x \
  18. \
  19. #下载Tomcat压缩文件
  20. && wget -O tomcat.tar.gz "$TOMCAT_TGZ_URL" \
  21. && wget -O tomcat.tar.gz.asc "$TOMCAT_ASC_URL" \
  22. #解压Tomcat
  23. && tar -xvf tomcat.tar.gz --strip-components=1 \
  24. # 删除供Windows系统使用的.bat文件
  25. && rm bin/*.bat \
  26. # 删除压缩文件
  27. && rm tomcat.tar.gz* \
  28. #暴露8080端口
  29. EXPOSE 8080
  30. #容器启动时执行的命令。
  31. CMD ["catalina.sh", "run"]

centos基础镜像存在漏洞

构建centos7基础镜像

  1. FROM centos:7
  2. MAINTAINER "Geray <1690014753@qq.com>"
  3. RUN yum -y install kde-l10n-Chinese telnet wget && \
  4. yum -y reinstall glibc-common && \
  5. yum clean all && \
  6. localedef -c -f UTF-8 -i zh_CN zh_CN.utf8 && \
  7. cat /dev/null > /etc/locale.conf && echo "LC_ALL=\"zh_CN.UTF-8\"" > /etc/locale.conf
  8. #env
  9. ENV TZ "Asia/Shanghai"
  10. #ENV LANG en_US.UTF-8
  11. ENV LANG zh_CN.UTF-8
  12. # 升级openssh
  13. RUN yum -y install net-tools && \
  14. yum -y install gcc make perl zlib zlib-devel pam pam-devel && \
  15. wget https://www.openssl.org/source/openssl-1.1.1c.tar.gz && \
  16. wget http://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.9p1.tar.gz && \
  17. # 安装openssl
  18. tar -xf openssl-1.1.1c.tar.gz -C / && \
  19. mkdir -p /opt/modules/ssl/ && \
  20. cd openssl-1.1.1c && \
  21. ./config --prefix=/opt/modules/ssl/ && \
  22. make && make install && \
  23. ln -s /opt/modules/ssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1 && \
  24. ln -s /opt/modules/ssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1 && \
  25. ln -s /opt/modules/ssl/bin/openssl /usr/bin/openssl && \
  26. # 安装openssh
  27. tar -zxvf openssh-7.9p1.tar.gz -C ./ && \
  28. cd openssh-7.9p1 && \
  29. ./configure --prefix=/opt/modules/ssh --sysconfdir=/etc/ssh --with-ssl-dir=/opt/modules/ssl && \
  30. make && make install && \
  31. # 设置开机自启
  32. cp /opt/software/openssh-7.9p1/contrib/redhat/sshd.init /etc/init.d/sshd && \
  33. chmod u+x /etc/init.d/sshd

升级openssh

https://blog.csdn.net/qq_31136839/article/details/95596527

  1. wget https://www.openssl.org/source/openssl-1.1.1c.tar.gz
  2. wget http://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.9p1.tar.gz
  3. # 安装依赖
  4. yum -y install gcc make perl zlib zlib-devel pam pam-devel
  5. # 安装openSSH之前,首先要安装OpenSSL
  6. tar -zxvf ./openssl-1.1.1c.tar.gz -C ./
  7. ./config --prefix=/opt/modules/ssl/
  8. make && make install
  9. # 为Openssl库创建软连接,定位到正确位置
  10. ln -s /opt/modules/ssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
  11. ln -s /opt/modules/ssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
  12. # 查看版本
  13. /opt/modules/ssl/bin/openssl version
  14. vi ~/.bashrc
  15. export PATH="/opt/modules/ssl/bin:${PATH}"
  16. whereis openssl
  17. # 安装openssh-7.9p1
  18. tar -zxvf openssh-7.9p1.tar.gz -C ./
  19. cd openssh-7.9p1
  20. ./configure --prefix=/opt/modules/ssh --sysconfdir=/etc/ssh --with-ssl-dir=/opt/modules/ssl
  21. make && make install
  22. cp /opt/software/openssh-7.9p1/contrib/redhat/sshd.init /etc/init.d/sshd
  23. chmod u+x /etc/init.d/sshd