简体   繁体   English

Docker,Entrypoint.sh 访问被拒绝

[英]Docker, Entrypoint.sh access denied

I am trying to run a docker container by entering "docker compose up -d", but it keeps giving me the message:我试图通过输入“docker compose up -d”来运行一个 docker 容器,但它一直给我消息:

Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "/app/entrypoint.sh": permission denied: unknown来自守护进程的错误响应:无法创建 shim 任务:OCI 运行时创建失败:runc 创建失败:无法启动容器进程:exec:“/app/entrypoint.sh”:权限被拒绝:未知

I have tried running it as sudo and given my entire project x rights, by running chmod a+x.我尝试以 sudo 运行它,并通过运行 chmod a+x 为我的整个项目赋予 x 权限。 I not sure how to fix this problem.我不确定如何解决这个问题。

entrypoint.sh:入口点.sh:

#!/bin/bash
set -ex
exec supervisord -c /app/supervisord.conf

supervisord.conf: supervisord.conf:

[supervisord]
nodaemon=true

[include]
files = /app/conf.d/*.conf

Dockerfile: Dockerfile:

FROM debian:latest

# # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # #          NODE JS INSTALLATION             # # # #
# # # # Install NodeJS to run the Internal API    # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Adapted from: https://hub.docker.com/_/node           #
# (MIT License)                                         #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # #
RUN groupadd --gid 1000 node \
  && useradd --uid 1000 --gid node --shell /bin/bash --create-home node

ENV NODE_VERSION 17.6.0

RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \
    && case "${dpkgArch##*-}" in \
      amd64) ARCH='x64';; \
      ppc64el) ARCH='ppc64le';; \
      s390x) ARCH='s390x';; \
      arm64) ARCH='arm64';; \
      armhf) ARCH='armv7l';; \
      i386) ARCH='x86';; \
      *) echo "unsupported architecture"; exit 1 ;; \
    esac \
    && set -ex \
    && apt-get update && apt-get install -y ca-certificates curl wget gnupg dirmngr xz-utils libatomic1 --no-install-recommends \
    && rm -rf /var/lib/apt/lists/* \
    && for key in \
      4ED778F539E3634C779C87C6D7062848A1AB005C \
      94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
      74F12602B6F1C4E913FAA37AD3A89613643B6201 \
      71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \
      8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \
      C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
      C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C \
      DD8F2338BAE7501E3DD5AC78C273792F7D83545D \
      A48C2BEE680E841632CD4E44F07496B3EB3C1762 \
      108F52B48DB57BB0CC439B2997B01419BD92F80A \
      B9E2F5981AA6E0CD28160D9FF13993A75599653C \
    ; do \
      gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || \
      gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; \
    done \
    && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz" \
    && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
    && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
    && grep " node-v$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
    && tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
    && rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \
    && apt-mark auto '.*' > /dev/null \
    && find /usr/local -type f -executable -exec ldd '{}' ';' \
      | awk '/=>/ { print $(NF-1) }' \
      | sort -u \
      | xargs -r dpkg-query --search \
      | cut -d: -f1 \
      | sort -u \
      | xargs -r apt-mark manual \
    && ln -s /usr/local/bin/node /usr/local/bin/nodejs
# # # #        END OF NODE JS INSTALLATION        # # # #

# Install git, supervisor, VNC, & X11 packages
RUN set -ex; \
    apt-get update; \
    apt-get install -y --no-install-recommends\
      bash \ 
      net-tools \
      novnc \
      supervisor \
      x11vnc \
      xvfb

# Setup demo environment variables
ENV HOME=/root \
    DEBIAN_FRONTEND=noninteractive \
    LANG=en_US.UTF-8 \
    LANGUAGE=en_US.UTF-8 \
    LC_ALL=C.UTF-8 \
    DISPLAY=:0.0

# Copy relevant sources to the container
COPY ./html5-desktop/app /app
COPY ./API /home/api
COPY ./frontend/build /usr/share/novnc/
RUN cd /home/api && npm install
CMD ["/app/entrypoint.sh"]
EXPOSE 8080

Docker-compose.yml: Docker-compose.yml:

version: "3"
networks:
  no-internet:
    driver: ipvlan
    ipam:
      driver: default
      config:
        - subnet: 172.28.0.0/16
          ip_range: 172.28.6.0/24
    internal: True
    name: com
  display:
    driver: bridge
    internal: True
  extern:
    driver: bridge
services:
  html5-desktop:
    build:
      context: ./
      dockerfile: ./html5-desktop/Dockerfile
    ports:
      - "9070:8080"
      - "9069:5500"
    networks:
      - display
      - extern
    environment:
      - DISPLAY_WIDTH=1080
      - DISPLAY_HEIGHT=810
    restart: unless-stopped
  hosted-desktop:
    build: ./hosted-desktop
    networks:
      - display
      - no-internet
    environment:
      - DISPLAY=html5-desktop:0.0
    depends_on:
      - html5-desktop
    restart: unless-stopped
  home247:
    build: ./home247
    container_name: home247
    hostname: portal.home247.com
    domainname: portal.home247.com
    networks:
      - no-internet
    restart: unless-stopped
  pia-legacy:
    build: ./pia-legacy
    container_name: pia-legacy
    hostname: drives.pia.dk
    domainname: drives.pia.dk
    networks:
      - no-internet
    restart: unless-stopped
  sharedot:
    build: ./sharedot
    container_name: sharedot
    hostname: sharedot.com
    domainname: sharedot.com
    networks:
      - no-internet
    restart: unless-stopped

Eventually solved the problem by simply running "docker compose build" before running "docker compose up -d".最终通过在运行“docker compose up -d”之前简单地运行“docker compose build”解决了这个问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM