У меня есть приложение на python и java, которое я хочу запустить внутри контейнера.
У меня есть папка с именем pass-hash
с:
- h2o-start
папка, содержащая Dockerfile
, которую я использую для запуска h2o.jar
, которая запускает сервер для машинного обучения.
- model-generator
папка, содержащая passhash.py
и файл data.csv
.
Приложение passhash.py
содержит h2o.import_file("/var/my-data/data.csv")
, которое берет файл data.csv
из папки my-data
, которую я создал в контейнере, и создает файл POJO с ним.
h2o-start Dockerfile
содержит:
FROM openjdk:8
ADD h2o.jar h2o.jar
EXPOSE 54321
EXPOSE 54322
ENTRYPOINT ["java", "-jar", "h2o.jar"]
model-generator Dockerfile
содержит:
FROM python:2.7-slim
WORKDIR /model-generator
ADD . /model-generator
RUN mkdir /var/my-data
COPY data.csv /var/my-data
RUN chmod 777 /var/my-data/data.csv
RUN pip install --trusted-host pypi.python.org -r requirements.txt
EXPOSE 8080
ENV NAME World
CMD ["python", "passhash.py"]
Файл docker-compose.yml
содержит:
version: "3"
services:
h2o-start:
image: milanpanic2/h2o-start
build:
context: ./h2o-start
ports:
- "54321:54321"
- "54322:54322"
volumes:
- "home/data"
model-generator:
image: milanpanic2/model-generator
build:
context: ./model-generator
ports:
- "8080:8080"
depends_on:
- "h2o-start"
volumes:
- "csvdata:/var/my-data"
volumes:
csvdata: