代码之家  ›  专栏  ›  技术社区  ›  code-8

启动容器进程导致“exec:\”/tmp/运行.sh\“:权限被拒绝”:未知

  •  0
  • code-8  · 技术社区  · 7 年前

    我有一个档案

    FROM composer:1.8.5 as build_stage
    
    COPY . /src
    WORKDIR /src
    RUN composer install
    
    
    FROM alpine:3.8
    RUN apk --no-cache add \
    php7 \
    php7-mbstring \
    php7-session \
    php7-openssl \
    php7-tokenizer \
    php7-json \
    php7-pdo \
    php7-pdo_pgsql \
    php7-pgsql
    COPY --from=build_stage /src  /src
    RUN ls -al
    RUN set -x \
    addgroup -g 82 -S www-data \
    adduser -u 82 -D -S -G www-data www-data
    WORKDIR /src
    RUN ls -al
    RUN chmod -R 777 storage
    RUN sudo chmod +x run.sh
    copy ./run.sh /tmp
    ENTRYPOINT ["/tmp/run.sh"]
    

    运行.sh

    #!/bin/sh
    
    cd /app
    php artisan migrate:fresh --seed
    php artisan serve --host=0.0.0.0
    

    enter image description here

    如何进一步调试呢?

    2 回复  |  直到 7 年前
        1
  •  3
  •   codestation    7 年前
    RUN sudo chmod +x run.sh
    copy ./run.sh /tmp
    

    在没有执行权限的情况下,正在将新副本从生成上下文复制到 /tmp/run.sh . 尝试更改以下命令。

    RUN chmod +x run.sh
    RUN cp run.sh /tmp
    

        2
  •  1
  •   Alassane Ndiaye    7 年前

    问题就在这一块:

    RUN sudo chmod +x run.sh
    copy ./run.sh /tmp
    ENTRYPOINT ["/tmp/run.sh"]
    

    COPY ./run.sh /tmp
    RUN chmod +x /tmp/run.sh
    ENTRYPOINT ["/tmp/run.sh"]
    
    推荐文章