在docker-compose中发出运行命令

时间:2018-06-07 10:59:31

标签: docker-compose docker-command

我正在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

1 个答案:

答案 0 :(得分: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文件中删除命令属性