Не существует образа 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