docker-compose 中的 OpenJDK

OpenJDK in docker-compose

目前我的 docker-compose 中有以下内容:

version: '2'

services:
  app:
    depends_on:
      - 'postgres'
      - 'elasticsearch'
      - 'java'
    build: .
    command: bash scripts/start.sh
    ports:
      - '3000:3000'
    volumes:
      - '.:/farma_alg_reborn'
    volumes_from:
    - box
    environment:
      ELASTICSEARCH_URL: elasticsearch:9200

  postgres:
    image: 'postgres:9.5'
    volumes:
      - 'postgres:/var/lib/postgresql/data'

  elasticsearch:
    image: 'elasticsearch:2'
    ports:
      - '9200:9200'
    volumes:
      - 'elasticsearch:/usr/share/elasticsearch/data'
    environment:
      - Des.network.host=0.0.0.0

  box:
    image: busybox
    volumes:
      - /box

  java:
    image: openjdk:latest


volumes:
  postgres:
  box:
  elasticsearch:

在我的 rails 应用程序中使用此撰写文件启动,我想调用嵌入 bash 命令 javajavac,但找不到它们(sh: 1: javac: not found) 当我尝试的时候。

我怎样才能做到这一点?

编辑 1:

我的docker文件:

FROM ruby:2.4-slim

RUN apt-get install -qq -y --no-install-recommends \
  build-essential nodejs npm libpq-dev git fp-compiler nodejs-legacy libfontconfig1-dev cron
RUN npm install -g phantomjs

ENV APP /farma_alg_reborn

RUN mkdir -p $APP

WORKDIR $APP

ENV BUNDLE_PATH /box

COPY . $APP

您需要在 ruby 应用映像中安装 java-jdk 才能执行 运行 java 命令。