nymrli
V2EX  ›  Docker

Dockerfile 请教

  •  
  •   nymrli · Oct 24, 2021 · 1811 views
    This topic created in 1687 days ago, the information mentioned may be changed or developed.

    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  
       Oct 25, 2021
    nohup 命令在构建镜像的时候执行完了。你起容器只会执行 ENTRYPOINT 的命令,可以把 nohup 的命令和你的 python -m visdom.server 写到启动脚本里,ENTRYPOINT 设置为启动这个脚本。
    nymrli
        2
    nymrli  
    OP
       Oct 25, 2021
    @mimzy 哇,谢谢,我傻了,RUN 是构建时的命令...妈蛋,经过提醒才能反应出来
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1056 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 23:07 · PVG 07:07 · LAX 16:07 · JFK 19:07
    ♥ Do have faith in what you're doing.