нем мне надо так же запустить jdk8 .
Собственно опыта у меня в докере только на примитиве, я как понял есть Dockerfile где мы прописываем инструкцию, что надо сделать?
Вопрос, а как настроить docker-compose, чтобы он взял этот докер файл и тоже запустил его?
А вообще может кто вкурсе я запускаю в докере airflow и пытаюсь прочитать jar файл, dag я написал, но вот проблема у меня нет java, не в шедулите не в морде, через cli проверил в докере...
Как решить это может надо в compose добавить какую-то ссылку ?
я попробовал так добавить , но хз парвильно или нет -
java:
container_name: loginJava
image: openjdk:8
volumes:
- ./home/crismon-01/Documenti/TESI/Docker/mysqlLogin:/usr/src/myapp
working_dir: /usr/src/myapp
command: bash -c "java -jar LogiIn.jar"
вместо image: openjdk:8 working_dir: /usr/src/myapp command: bash -c "java -jar LogiIn.jar" пишете build: . в эту же директорию кладёте свой Dockerfile, в котором что-то вроде FROM openjdk:8-jdk WORKDIR /deployments COPY login.jar login.jar ENV JAVA_OPTS="" EXPOSE 8080 ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar login.jar $JAVA_ARGS"]
java: container_name: loginJava build: . вот так?
гигансткое спасибо но я же правильно понимаю, если у меня в контейнере запускается несколько приложений. и мне надо для какой-то написатьь докер файл , то в компосе мне надо укакзать ссылку на нее?
вам надо отделить процесс сборки докер образов от их запуска в составе docker-compose.yml смешивать это неправильно
failed to compute cache key: "/login.jar" not found: not found ERROR: Service 'java' failed to build : Build failed PS D:\aiflow\docker-airflow> а чето не работает
version: '2.1' services: redis: image: 'redis:5.0.5' # command: redis-server --requirepass redispass postgres: image: postgres:9.6 environment: - POSTGRES_USER=airflow - POSTGRES_PASSWORD=airflow - POSTGRES_DB=airflow # Uncomment these lines to persist data on the local filesystem. # - PGDATA=/var/lib/postgresql/data/pgdata # volumes: # - ./pgdata:/var/lib/postgresql/data/pgdata webserver: image: puckel/docker-airflow:1.10.9 restart: always depends_on: - postgres - redis environment: - LOAD_EX=n - FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= - EXECUTOR=Celery # - POSTGRES_USER=airflow # - POSTGRES_PASSWORD=airflow # - POSTGRES_DB=airflow # - REDIS_PASSWORD=redispass volumes: - ./dags:/usr/local/airflow/dags # Uncomment to include custom plugins - ./plugins:/usr/local/airflow/plugins - ${JAVA_HOME}:/usr/local/bin/java ports: - "8080:8080" command: webserver healthcheck: test: ["CMD-SHELL", "[ -f /usr/local/airflow/airflow-webserver.pid ]"] interval: 30s timeout: 30s retries: 3 flower: image: puckel/docker-airflow:1.10.9 restart: always depends_on: - redis environment: - EXECUTOR=Celery # - REDIS_PASSWORD=redispass ports: - "5555:5555" command: flower scheduler: image: puckel/docker-airflow:1.10.9 restart: always depends_on: - webserver volumes: - ./dags:/usr/local/airflow/dags # Uncomment to include custom plugins - ./plugins:/usr/local/airflow/plugins environment: - LOAD_EX=n - FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= - EXECUTOR=Celery # - POSTGRES_USER=airflow # - POSTGRES_PASSWORD=airflow # - POSTGRES_DB=airflow # - REDIS_PASSWORD=redispass command: scheduler worker: image: puckel/docker-airflow:1.10.9 restart: always depends_on: - scheduler volumes: - ./dags:/usr/local/airflow/dags # Uncomment to include custom plugins - ./plugins:/usr/local/airflow/plugins environment: - FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho= - EXECUTOR=Celery # - POSTGRES_USER=airflow # - POSTGRES_PASSWORD=airflow # - POSTGRES_DB=airflow # - REDIS_PASSWORD=redispass command: worker java: container_name: loginJava build: .
А login.jar где у вас? Регистр букв важен, если что.
аа вот мне вообще он не нужен
мне просто нужно jdk
мне просто надо скачать jdk в docker и все(((
Извините, я тогда не понимаю что вам надо и причём тут docker-compose
у меня задача запустить jar файл в airflow, но когда я пытаюсь, в airflow нет jdk для запуская jar файла. ПОдсказали что надо законнектить в докер jdk
я просто прописал пример он видать кривой((( а мне надо чтобы в моем контейнере был еще jdk или как-то в airflow загрузить jdk
Ну так и создайте свой контейнер на базе airflow FROM airflow или как там Добавьте в него jdk через apt или yum или что там install openjdk Т.е. в docker-compose будет build этого контейнера
Обсуждают сегодня