zoukankan      html  css  js  c++  java
  • 如何修改容器内的/etc/resolv.conf

    源由不表,暂且略过。 直接说workaround.

    因为openshift的模式,/etc/resolv.conf是在pod生成的时候插入的,写入的是宿主机的ip作为dns的寻址,如果需要修改的化,需要在容器生成以后

    脚本启动以前进行修改。

    1.打开scc对root权限的控制

    $ oc create serviceaccount useroot
    $ oc adm policy add-scc-to-user anyuid -z useroot
    $ oc patch dc/mytomcat --patch '{"spec":{"template":{"spec":{"serviceAccountName": "useroot"}}}}'

    2.修改应用镜像, 构建一个Dockerfile

    [root@master tomcat]# cat Dockerfile 
    FROM docker-registry.default.svc:5000/myproject/tomcat:8-slim
    
    
    COPY startapp.sh /usr/local/tomcat/bin/startapp.sh
    
    CMD ["/usr/local/tomcat/bin/startapp.sh"] 

    其中startapp.sh为

    [root@master tomcat]# cat startapp.sh 
    #!/bin/bash
    
    echo "startup ...."
    
    cp /etc/resolv.conf /etc/resolv.conf1
    sed -i "s/:5/:5 single-request/" /etc/resolv.conf1
    cp /etc/resolv.conf1 /etc/resolv.conf
    
    /usr/local/tomcat/bin/catalina.sh run

    3.推送镜像到仓库

    docker build -t docker-registry.default.svc:5000/myproject/mytomcat:8-slim .
    docker push docker-registry.default.svc:5000/myproject/mytomcat:8-slim

    查看结果

  • 相关阅读:
    Easy Code 自定义的模板
    LINUX批量修改文件名
    解决FTP登录太慢
    linux 命令
    Linux rename命令
    MySQL字段重复出现多少次
    kafka安装
    Redis 5.0简单安装
    Tomcat常用配置
    jenkins安装和简单配置
  • 原文地址:https://www.cnblogs.com/ericnie/p/10223674.html
Copyright © 2011-2022 走看看