【问题标题】:First attempt at docker compose, status is "restarting" what have I done wrong?第一次尝试 docker compose,状态是“重新启动”我做错了什么?
【发布时间】:2021-01-24 21:02:13
【问题描述】:

这是我第一次尝试 docker composer(以及从昨天开始的 docker),但是 docker 处于重新启动状态。

应用程序是我通常运行的 Grafana:

docker volume create grafana-storage
docker run -d -p 3000:3000 --name=grafana -v grafana-storage:/var/lib/grafana grafana/grafana

今天我想我会尝试使用 docker composer,这是我所做的:为 Docker App(s) 创建一个文件夹

sudo mkdir Docker_Applications
cd Docker_Applications
sudo mkdir Grafana

进入目录

cd Grafana
sudo nano docker-compose.yml

添加

version: '3'
services:
 grafana:
   image: "grafana/grafana:7.3.7"
   volumes:
     # Data persistency
     # sudo mkdir -p /Docker_Applications/Grafana
     - "./database:/var/lib/grafana"
     - "./config:/etc/grafana"
   ports:
     - 3000:3000
   restart: always

然后运行它

root@grafana-dev:/Docker_Applications/Grafana$ sudo docker-compose up -d
Building with native build. Learn about native build in Compose here: https://docs.docker.com/go/compose-native-build/
Starting grafana_grafana_1 ... done

状态

root@grafana-dev:/Docker_Applications/Grafana$ sudo docker ps
CONTAINER ID   IMAGE                   COMMAND     CREATED          STATUS                         PORTS     NAMES
a347b12ae9a3   grafana/grafana:7.3.7   "/run.sh"   18 minutes ago   Restarting (1) 4 seconds ago             grafana_grafana_1

希望你能看到我已经尽力了。我想知道这是否与体积有关。

任何帮助将不胜感激。

我删除了 yaml 文件的卷部分,它现在运行。它看起来像权限或找不到我的文件夹,我不确定要尝试哪些权限/命令。

grafana-dev:/Docker_Applications/Grafana$ sudo docker-compose up
Building with native build. Learn about native build in Compose here: https://docs.docker.com/go/compose-native-build/
Creating grafana_grafana_1 ... done
Attaching to grafana_grafana_1
grafana_1  | mkdir: can't create directory '/var/lib/grafana/plugins': Permission denied
grafana_1  | GF_PATHS_CONFIG='/etc/grafana/grafana.ini' is not readable.
grafana_1  | GF_PATHS_DATA='/var/lib/grafana' is not writable.
grafana_1  | You may have issues with file permissions, more information here: http://docs.grafana.org/installation/docker/#migration-from-a-previous-version-of-the-docker-container-to-5-1-or-later

【问题讨论】:

  • 容器日志显示什么? (例如,docker-compose logs grafana
  • 在您原来的docker run 设置中,您使用的是命名卷;您的 Compose 设置使用绑定挂载的主机目录。在 Compose 案例中切换到命名卷有帮助吗?
  • 你看过这个文档吗,最后一节讨论了文件和卷的用户权限。我认为它可能会解决您的问题Grafana Docs

标签: docker docker-compose grafana


【解决方案1】:

容器很可能在启动过程中由于错误而退出,并且由于您在 docker-compose 文件中设置了restart: always,因此容器会自动重新启动。

检查日志或通过删除-d 标志来运行docker-compose up non-detached 以找出问题所在,修复它,您的容器将停止不断地自行重启。

【讨论】:

  • 您好,我刚刚在顶部(底部)更新了我的帖子,似乎删除卷部分有帮助,日志说这是权限?
  • @AndyWhite 当您在主机上安装文件夹时,您必须处理该文件夹的权限。 Grafana 可能与对主机系统上的文件夹没有足够权限的用户一起运行。 Grafana docs 说 Grafana 在“grafana”用户下运行,你可以从包含 docker-compose 文件的文件夹内部执行 ls -la 以查看已安装文件夹的权限是什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多