2

我正在 docker compose 中构建一个自定义的 Postgresql 映像,并在成功构建之后尝试在 compose 文件的命令标签中运行一个 JAR 文件。是否可以从撰写文件运行 JAR?我的 docker-compose 文件如下所示:

version: '2'

services:
  pg-master:
    build: .
    ports:
      - "5434:5432"
    container_name: pg_master
    command: java -Dlog4j.configuration=file:log4j.xml -jar abc.jar ABC
4

1 回答 1

0

尝试这个。像这样在当前目录中创建一个 init.sh 文件

#!/bin/bash
java -Dlog4j.configuration=file:log4j.xml -jar abc.jar ABC

你的 Dockerfile 应该是这样的(我也在这里安装了 jre)

FROM library/postgres:9.6.3
RUN apt-get update
RUN apt-get -y install default-jre
COPY init.sh /docker-entrypoint-initdb.d/
COPY log4j.xml /docker-entrypoint-initdb.d/
COPY abc.jar /docker-entrypoint-initdb.d/

从 docker-compose 文件中删除命令属性

于 2018-06-08T14:02:08.413 回答