【问题标题】:docker compose command with which to start the containerdocker compose 命令用来启动容器
【发布时间】:2018-10-12 14:17:41
【问题描述】:

我遇到了这个问题,我希望这些命令 (RUN) 在部署容器时尽快运行。 但我对 docker compose yml 感到困惑。如何让它发生。 我只想在此站点上执行“修改权限”下方的操作http://docs.grafana.org/installation/docker/#migration-from-a-previous-version-of-the-docker-container-to-5-1-or-later 尝试这样编写时出现错误:

grafana:
  image: grafana/grafana
  container_name: grafana

  RUN: "chown -R root:root /etc/grafana && \ "
  RUN: "chmod -R a+r /etc/grafana && \ "
  RUN: "chown -R grafana:grafana /var/lib/grafana && \ "
  RUN: "chown -R grafana:grafana /usr/share/grafana"
  ports:
    - 3001:3000
  volumes:
    - /root/Stack/tigstack/graf:/var/lib/grafana
  restart:
   always

【问题讨论】:

标签: linux docker docker-compose devops


【解决方案1】:

非常感谢您的帮助。我做了一个 Dockerfile,但我需要在容器加载后运行一个命令,所以我像这样使用“CMD”:

FROM grafana/grafana:latest
MAINTAINER Denis
VOLUME /root/Stack/tigstack/graf:/var/lib/grafana
EXPOSE 3001:3000
SHELL ["/bin/bash"]
CMD "chmod -R a+r /etc/grafana && \ "
CMD "chown -R grafana:grafana /var/lib/grafana && \ "
CMD "chown -R grafana:grafana /usr/share/grafana"
CMD "chown -R root:root /etc/grafana && \
/home/core/conf/telegraf/telegraf.conf

它奏效了!感谢您的帮助

【讨论】:

    【解决方案2】:

    创建一个您自己的Dockerfile 并在此处使用 RUN 命令授予权限。你不能像你写的那样在 docker-compose 中使用 RUN 命令。

    【讨论】:

    • 如果这些命令是为了改变被绑定到容器中的主机目录的权限,把它们放在 Dockerfile 中是无效的; volumes: 挂载将覆盖映像中该目录树上发生的任何事情。
    猜你喜欢
    • 1970-01-01
    • 2018-04-10
    • 1970-01-01
    • 2019-12-16
    • 2015-09-11
    • 1970-01-01
    • 1970-01-01
    • 2020-01-23
    • 1970-01-01
    相关资源
    最近更新 更多