V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
nymrli
V2EX  ›  Docker

Dockerfile 请教

  •  
  •   nymrli · 2021-10-24 23:58:53 +08:00 · 1253 次点击
    这是一个创建于 1161 天前的主题,其中的信息可能已经有所发展或是发生改变。

    dockerfile 内容如下

    # alpine 无法安装 scipy 和 numpy
    FROM python:3.9
    MAINTAINER Mrli [email protected]
    
    ADD log_utils/ /app
    ADD docker-entrypoint.sh /app
    WORKDIR /app
    RUN mkdir logs/
    ADD ext/ /app/logs
    VOLUME /app/logs
    EXPOSE 8097
    # alpine 中 pip 安装 Scipy 等科学相关的包时报错, 需要预先安装的库
    #RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
    #RUN apk --update-cache --no-cache add tzdata gcc make freetype-dev gfortran musl-dev g++ libgcc libquadmath musl libgfortran lapack-dev
    #RUN pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
    RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple \
    #    && chmod 777 ./repeat.sh \
    #    && chmod 777 ./docker-entrypoint.sh \
        && bash ./repeat.sh
    ENTRYPOINT python -m visdom.server
    
    #ENTRYPOINT ["bash", "./docker-entrypoint.sh"]
    

    repeat.sh 内容如下

    #!/bin/bash
    echo "Start Record"
    
    ENV_DIR=$(cd $(dirname $0);pwd)
    
    # source $ENV_DIR/env/bin/activate
    # pyenv activate py38
    nohup python -u checkRepeatSituation.py 1> r1.log 2>err.log &
    nohup python -u checkRepeatSituation1.py 1> r2.log 2>err.log &
    nohup python -u checkRepeatSituation3.py 1> r3.log 2>err.log &
    nohup python -u checkRepeatSituation4.py 1> r4.log 2>err.log &
    #nohup python -m visdom.server &
    

    运行命令如下docker build -t nymrli/cplm_record:v2 ., docker run -d -p 23333:8097 -v /var/log/cplm:/app/logs --name cplm nymrli/cplm_record:v2 想请问一下为什么容器中 nohup 的内容没有执行

    mimzy
        1
    mimzy  
       2021-10-25 00:08:21 +08:00
    nohup 命令在构建镜像的时候执行完了。你起容器只会执行 ENTRYPOINT 的命令,可以把 nohup 的命令和你的 python -m visdom.server 写到启动脚本里,ENTRYPOINT 设置为启动这个脚本。
    nymrli
        2
    nymrli  
    OP
       2021-10-25 00:16:57 +08:00
    @mimzy 哇,谢谢,我傻了,RUN 是构建时的命令...妈蛋,经过提醒才能反应出来
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2460 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 04:43 · PVG 12:43 · LAX 20:43 · JFK 23:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.