Neo4j Raspberry PI Docker image - установленный каталог conf не переопределяет конфигурацию по умолчанию - PullRequest
0 голосов
/ 16 апреля 2020

Не существует образа docker для neo4j для архитектуры ARM, работающей на Raspberry Pi, поэтому я построил ее, и она запускается нормально при работе в моем кластере Pi Kubernetes. Я могу выполнить EXE C для работающей учетной записи pod и cypher-shell.

Я не могу получить доступ ни к одному из портов 7474 или 76887 из других модулей, поэтому я считаю, что это так, потому что файл conf по умолчанию прослушивает localhost и мне нужно, чтобы он был переопределен записью, смонтированной в / conf для dbms.default_listen_address = 0.0.0.0.

После того, как exe c 'd к модулю, я смог увидеть каталог mount / conf и мой Файл neo4j.conf. Но, похоже, он им не пользуется.

У кого-нибудь есть идеи относительно того, что я делаю неправильно.

Это мой Dockerfile для справки

FROM ubuntu:20.04

ENV NEO4J_HOME="/var/lib/neo4j" \
    NEO4J_EDITION=community

RUN apt-get update && \
    apt-get install -y wget gnupg1 curl apt-transport-https ca-certificates gosu

RUN wget -O - https://debian.neo4j.com/neotechnology.gpg.key | apt-key add - && \
    echo "deb https://debian.neo4j.com stable 4.0" | tee /etc/apt/sources.list.d/neo4j.list && \
    curl -L --fail --silent --show-error "https://github.com/krallin/tini/releases/download/v0.18.0/tini-arm64" > /sbin/tini && \
    chmod +x /sbin/tini && \
    apt-get update

RUN apt-get install -y neo4j

RUN addgroup --system neo4j && adduser --system --no-create-home --home ${NEO4J_HOME} --ingroup neo4j neo4j

RUN mkdir ${NEO4J_HOME}/logs && \
    mv ${NEO4J_HOME}/data /data && \
    mv ${NEO4J_HOME}/logs /logs

RUN chown -R neo4j:neo4j /data && \
    chmod -R 777 /data && \
    chown -R neo4j:neo4j /logs && \
    chmod -R 777 /logs && \
    chown -R neo4j:neo4j ${NEO4J_HOME} && \
    chmod -R 777 ${NEO4J_HOME}

RUN ln -s /data ${NEO4J_HOME}/data && \
    ln -s /logs ${NEO4J_HOME}/logs

ENV PATH ${NEO4J_HOME}/bin:$PATH
WORKDIR ${NEO4J_HOME}
VOLUME /data /logs
COPY docker-entrypoint.sh /docker-entrypoint.sh

EXPOSE 7474 7687

ENTRYPOINT ["/sbin/tini", "-g", "--", "/docker-entrypoint.sh"]
CMD ["neo4j"]

И мой POD YML

apiVersion: v1
kind: Pod
metadata:
  name: rojopro-neo4j-pod
  labels: 
    app: rojopro-neo4j-pod
spec:
  containers:
    - name: rojopro-neo4j-pod
      image: 192.168.0.110:30000/rojopro-neo4j-arm
      ports:
        - containerPort: 7474
          name: "http"
        - containerPort: 7687
          name: "bolt"
      volumeMounts:
        - mountPath: "/data"
          name: neo4j-data
        - mountPath: "/logs"
          name: neo4j-logs
        - mountPath: "/conf"
          name: neo4j-conf
  imagePullSecrets:
    - name: docker-registry-secret
  volumes:
    - name: neo4j-data
      persistentVolumeClaim:
        claimName: pvc-neo4j-data
    - name: neo4j-conf
      persistentVolumeClaim:
        claimName: pvc-neo4j-conf
    - name: neo4j-logs
      persistentVolumeClaim:
        claimName: pvc-neo4j-logs
...