для примера hello world Я хочу запустить 2 контейнера:
- Flask сервер (который позже обращается к серверу Graphdb через http)
- Сервер Graphdb
Для моего Flask сервера я написал следующий Dockerfile:
FROM python:3.7.1
LABEL Author="Test"
LABEL version="1.0.0"
ENV PYTHONDONTWRITEBYTECODE 1
ENV FLASK_APP "app.py"
ENV FLASK_ENV "development"
ENV FLASK_DEBUG True
RUN mkdir /app
WORKDIR /app
RUN pip install flask
ADD . /app
EXPOSE 5000
CMD flask run --host=0.0.0.0
И мой файл docker -compose.yml выглядит так:
version: '3'
services:
db:
image: ontotext/graphdb:9.1.1-se
ports:
- "7200:7200"
server:
build: .
ports:
- "5000:5000"
depends_on:
- db
Теперь я хотите выполнить команду оболочки
loadrdf - c [путь к файлу .ttl]
, предназначенную для экземпляра graphdb, чтобы загрузить мои данные RDF из файла, расположенного at: ../rdf/rdf.ttl (относительный путь из Dockerfile и docker -compose.yml).
Мой вопрос: как получить доступ к файлу rdf.ttl из контейнера graphdb и как / где выполнить эту команду оболочки?