• linux s6 docker 集成参考


    基于s6-overlay 工具

    环境准备

    • Dockerfile
    FROM ubuntu
    ARG S6_OVERLAY_VERSION=3.0.0.2-2
     
    RUN apt-get update && apt-get install -y nginx xz-utils
    RUN echo "daemon off;" >> /etc/nginx/nginx.conf
    CMD ["/usr/sbin/nginx"]
     
    ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch-${S6_OVERLAY_VERSION}.tar.xz /tmp
    RUN tar -C / -Jxpf /tmp/s6-overlay-noarch-${S6_OVERLAY_VERSION}.tar.xz
    ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-x86_64-${S6_OVERLAY_VERSION}.tar.xz /tmp
    RUN tar -C / -Jxpf /tmp/s6-overlay-x86_64-${S6_OVERLAY_VERSION}.tar.xz
    ENTRYPOINT ["/init"]
    • 构建&&使用
    docker build -t dalongrong/s6-demoapp .
    docker run -d -p 80:80 alongrong/s6-demoapp

    s6 进程效果

    • 进入容器
    docker exec -it <containerId> sh 
    • 进程效果

    s6-overlay 支持的特性

    • 简单init 进程,需要服务进行初始化以及释放定义(比如任务,以及系统运行初始化)
    • 接管1号进程,规避僵尸进程的问题(容器僵尸进程很常见)
    • 多进程单容器(维护上更加方便)
    • 可以复用现有的基础镜像(centos,alpine,ubuntu)
    • 做为tar 文件提供简单
    • 开箱即用的日志轮转(基于了s6-log)

    说明

    s6-overlay 的功能还是很强大的,使用上也比较简单,值得使用,使用它可以解决不少容器运行的一些问题

    参考资料

    http://skarnet.org/software/s6-linux-init/
    https://github.com/just-containers/s6-overlay

  • 相关阅读:
    SSL 1010——方格取数
    SSL 1558——科技庄园
    SSL 2295——暗黑破坏神
    SSL 2294——打包
    SSL 2293——暗黑游戏
    SSL 2305——竞赛总分
    SSL 1072——砝码称重
    SSL 2291——分组背包
    SSL 2290——潜水员
    SSL 2301——混合背包
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/15943462.html
Copyright © 2020-2023  润新知