我有这个dockerfile
FROM alpine:3.8
ENV LANG C.UTF-8
RUN set -x && \
apk add --no-cache \
openrc \
bash \
libreswan \
xl2tpd \
ppp \
&& mkdir -p /var/run/pluto \
&& mkdir -p /var/run/xl2tpd \
&& touch /var/run/xl2tpd/l2tp-control
COPY ipsec.conf /etc/ipsec.conf
COPY ipsec.secrets /etc/ipsec.secrets
COPY xl2tpd.conf /etc/xl2tpd/xl2tpd.conf
COPY options.l2tpd.client /etc/ppp/options.l2tpd.client
COPY startup.sh /
RUN ["chmod", "+x", "/startup.sh"]
CMD ["./startup.sh"]当我在本地运行时,一切运行正常。但是我正在尝试执行在gcp vm (ubuntu)中生成的映像,并得到以下错误
/bin/sh: can't open './startup.sh': Permission denied有人能帮我纠正这个错误吗?
注意:我还尝试使用以下命令修改权限:
RUN ["chmod", "777", "/startup.sh"]
RUN chmod +x /startup.sh
RUN chmod 777 /startup.sh并使用以下命令执行脚本:
ENTRYPOINT ["./startup.sh"]
RUN ["./startup.sh"]
RUN ./startup.sh发布于 2020-06-03 01:54:46
此处缺少添加用户以更改权限More Info
RUN useradd -ms /bin/bash myuser发布于 2020-06-03 02:56:23
尝试这样做,在您的docker文件中添加这些行。
RUN chown -R admin:admin /
RUN chmod 755 /只需将管理员权限授予/根目录即可。
您的docker文件将如下所示
FROM alpine:3.8
ENV LANG C.UTF-8
RUN set -x && \
apk add --no-cache \
openrc \
bash \
libreswan \
xl2tpd \
ppp \
&& mkdir -p /var/run/pluto \
&& mkdir -p /var/run/xl2tpd \
&& touch /var/run/xl2tpd/l2tp-control
COPY ipsec.conf /etc/ipsec.conf
COPY ipsec.secrets /etc/ipsec.secrets
COPY xl2tpd.conf /etc/xl2tpd/xl2tpd.conf
COPY options.l2tpd.client /etc/ppp/options.l2tpd.client
COPY startup.sh /
RUN chown -R admin:admin /
RUN chmod 755 /
CMD ["./startup.sh"]https://stackoverflow.com/questions/62158145
复制相似问题