docker-compose - 使用 docker-compose 上的 Dockerfile 使用 chown 拒绝用户权限
问题描述
我正在尝试在 docker-compose 中安装一个卷。但似乎我的用户没有使用音量的权限。:/
我的 dockerfile 是:
FROM openjdk:8u181-jdk-slim
ENV HOME /app
ENV CONFIG_PATH $HOME/config
ENV DATA_PATH $HOME/data
ENV LOG_PATH $HOME/log
RUN addgroup --gid 1001 myuser \
&& adduser --uid 1001 --gid 1001 --home $HOME --shell /bin/bash \
--gecos "" --no-create-home --disabled-password myuser \
&& mkdir -p $CONFIG_PATH $DATA_PATH $LOG_PATH \
&& chown -R myuser:myuser $HOME \
&& chmod -R g=u $HOME \
&& chmod +x $HOME/*
RUN apt-get update \
&& apt-get install -y curl \
&& apt-get clean
VOLUME $CONFIG_PATH $DATA_PATH $LOG_PATH
USER myuser:myuser
EXPOSE 7777
EXPOSE 8080
HEALTHCHECK --interval=1m --timeout=10s --start-period=2m \
CMD curl -f http://localhost:7777/health || exit 1
COPY --chown=myuser my-service-*.jar $HOME/my-service.jar
ENTRYPOINT ["/bin/bash", "-c", "java $JAVA_OPTS -jar $HOME/my-service.jar $0 $@"]
我的 docker-compose 文件是:
volumes:
my-service_stream:
my-service:
image: my-service-image
networks:
- internal
env_file:
- config/common.env
volumes:
- my-service_stream:/app/data/state
无法使用 myuser 也无法为此用户挂载:/。我不能使用并且我的用户没有写该卷的权限。
我尝试将用户添加到我的 docker-compose 文件中
user: "1001:1001"
但没有任何改变。
解决方案
推荐阅读
- javascript - 提交文件未提交表单
- java - 与交互时改变颜色的矩形
- java - Java流如何在列表的嵌套列表中添加值
- python - 在工作区中编译时,dylib 无法加载 libstd
- php - 在 Laravel 5.7 和 5.8 中的 DB 事务期间,Flash 消息不起作用
- azerothcore - 如何确保数据库是最新的
- python - Tweepy 的 StreamListener 与 async 结合
- javascript - 如何使用 redux 在 saga 中执行多个操作并跟踪组件中的整体成功/失败?
- java - 带有多个点的 messages.properties 键不起作用
- makefile - 将路径添加到目标的通用规则