update dockerfiles
- define user uid/gid - use new geedeecee files (hopefully means smaller images, faster building)
This commit is contained in:
parent
e370cb5ef9
commit
9b331cc105
15 changed files with 95 additions and 119 deletions
|
|
@ -1,3 +1,4 @@
|
|||
import kafkatorio.extensions.dropDirectory
|
||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
||||
|
||||
plugins {
|
||||
|
|
@ -90,6 +91,15 @@ val runEventsProcessors by tasks.registering {
|
|||
dependsOn(tasks.run)
|
||||
}
|
||||
|
||||
tasks.dockerComposeBuild {
|
||||
dependsOn(tasks.distTar)
|
||||
|
||||
tasks.dockerContextPrepareFiles {
|
||||
from(zipTree(tasks.distZip.flatMap { it.archiveFile })) {
|
||||
eachFile {
|
||||
relativePath = relativePath.dropDirectory()
|
||||
|
||||
if (!isDirectory && relativePath.pathString.matches("""bin\/.+""".toRegex())) {
|
||||
name = name.replace(file.nameWithoutExtension, "run")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,21 +2,18 @@
|
|||
|
||||
FROM eclipse-temurin:11-jdk-jammy
|
||||
ARG KAFKATORIO_VERSION
|
||||
ARG DIST_DIR="../build/distributions/"
|
||||
ARG APP_NAME="events-processors"
|
||||
ARG APP_FILES="build/"
|
||||
ARG USER_ID=1000
|
||||
ARG USER_GID=1000
|
||||
|
||||
WORKDIR /app
|
||||
USER $USER_ID:$USER_GID
|
||||
|
||||
ENV SERVER_DATA_DIR="/app/data" \
|
||||
KAFKA_STREAMS_STATE_DIR="/app/state/kafka"
|
||||
|
||||
ENV SERVER_DATA_DIR="/app/data"
|
||||
ENV KAFKA_STREAMS_STATE_DIR="/app/state/kafka"
|
||||
VOLUME ${SERVER_DATA_DIR} \
|
||||
${KAFKA_STREAMS_STATE_DIR}
|
||||
|
||||
COPY ${DIST_DIR}/${APP_NAME}-${KAFKATORIO_VERSION}.tar ${APP_NAME}.tar
|
||||
|
||||
RUN tar -xf ${APP_NAME}.tar --strip-components=1 \
|
||||
&& rm ${APP_NAME}.tar \
|
||||
&& cp /app/bin/${APP_NAME} /app/bin/run \
|
||||
&& chmod 775 /app/bin/run
|
||||
COPY ${APP_FILES} /app/
|
||||
|
||||
ENTRYPOINT /app/bin/run
|
||||
|
|
|
|||
|
|
@ -7,12 +7,11 @@ services:
|
|||
container_name: ${APP_NAME}
|
||||
restart: unless-stopped
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: ./docker/Dockerfile
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
args:
|
||||
KAFKATORIO_VERSION: ${KAFKATORIO_VERSION}
|
||||
DIST_DIR: "./build/distributions/"
|
||||
APP_NAME: ${APP_NAME}
|
||||
APP_FILES: "./build/"
|
||||
environment:
|
||||
KAFKA_BOOTSTRAP_SERVERS: "http://kafka:29092"
|
||||
# KAFKA_STREAMS_STATE_DIR: ""
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import kafkatorio.extensions.dropDirectory
|
||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
||||
|
||||
|
||||
|
|
@ -88,6 +89,14 @@ val runSyslogServer by tasks.registering {
|
|||
dependsOn(tasks.run)
|
||||
}
|
||||
|
||||
tasks.dockerComposeBuild {
|
||||
dependsOn(tasks.distTar)
|
||||
tasks.dockerContextPrepareFiles {
|
||||
from(zipTree(tasks.distZip.flatMap { it.archiveFile })) {
|
||||
eachFile {
|
||||
relativePath = relativePath.dropDirectory()
|
||||
|
||||
if (!isDirectory && relativePath.pathString.matches("""bin\/.+""".toRegex())) {
|
||||
name = name.replace(file.nameWithoutExtension, "run")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,26 +2,22 @@
|
|||
|
||||
FROM eclipse-temurin:11-jdk-jammy
|
||||
ARG KAFKATORIO_VERSION
|
||||
ARG DIST_DIR="../build/distributions/"
|
||||
ARG APP_NAME="events-server-syslog"
|
||||
ARG APP_FILES="build/"
|
||||
ARG USER_ID=1000
|
||||
ARG USER_GID=1000
|
||||
|
||||
WORKDIR /app
|
||||
USER $USER_ID:$USER_GID
|
||||
|
||||
ENV SERVER_DATA_DIR="/app/data" \
|
||||
KAFKA_STREAMS_STATE_DIR="/app/state/kafka" \
|
||||
SOCKET_SERVER_HOST=0.0.0.0 \
|
||||
SOCKET_SERVER_PORT=9002
|
||||
|
||||
ENV SOCKET_SERVER_HOST=0.0.0.0
|
||||
ENV SOCKET_SERVER_PORT=9002
|
||||
EXPOSE $SOCKET_SERVER_PORT
|
||||
|
||||
ENV SERVER_DATA_DIR="/app/data"
|
||||
ENV KAFKA_STREAMS_STATE_DIR="/app/state/kafka"
|
||||
|
||||
VOLUME ${SERVER_DATA_DIR} \
|
||||
${KAFKA_STREAMS_STATE_DIR}
|
||||
|
||||
COPY ${DIST_DIR}/${APP_NAME}-${KAFKATORIO_VERSION}.tar ${APP_NAME}.tar
|
||||
|
||||
RUN tar -xf ${APP_NAME}.tar --strip-components=1 \
|
||||
&& rm ${APP_NAME}.tar \
|
||||
&& cp /app/bin/${APP_NAME} /app/bin/run \
|
||||
&& chmod 775 /app/bin/run
|
||||
COPY ${APP_FILES} /app/
|
||||
|
||||
ENTRYPOINT /app/bin/run
|
||||
|
|
|
|||
|
|
@ -7,12 +7,11 @@ services:
|
|||
container_name: ${APP_NAME}
|
||||
restart: unless-stopped
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: ./docker/Dockerfile
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
args:
|
||||
KAFKATORIO_VERSION: ${KAFKATORIO_VERSION}
|
||||
DIST_DIR: "./build/distributions/"
|
||||
APP_NAME: ${APP_NAME}
|
||||
APP_FILES: "./build/"
|
||||
environment:
|
||||
KAFKA_BOOTSTRAP_SERVERS: "http://kafka:29092"
|
||||
# KAFKA_STREAMS_STATE_DIR: ""
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import kafkatorio.extensions.dropDirectory
|
||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
||||
|
||||
|
||||
|
|
@ -91,6 +92,14 @@ val runEventsWebServer by tasks.registering {
|
|||
dependsOn(tasks.run)
|
||||
}
|
||||
|
||||
tasks.dockerComposeBuild {
|
||||
dependsOn(tasks.distTar)
|
||||
tasks.dockerContextPrepareFiles {
|
||||
from(zipTree(tasks.distZip.flatMap { it.archiveFile })) {
|
||||
eachFile {
|
||||
relativePath = relativePath.dropDirectory()
|
||||
|
||||
if (!isDirectory && relativePath.pathString.matches("""bin\/.+""".toRegex())) {
|
||||
name = name.replace(file.nameWithoutExtension, "run")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,26 +1,22 @@
|
|||
# syntax=docker/dockerfile:1
|
||||
|
||||
FROM openjdk:11
|
||||
FROM eclipse-temurin:11-jdk-jammy
|
||||
ARG KAFKATORIO_VERSION
|
||||
ARG DIST_DIR="../build/distributions/"
|
||||
ARG APP_NAME="events-server-web"
|
||||
ARG APP_FILES="build/"
|
||||
ARG USER_ID=1000
|
||||
ARG USER_GID=1000
|
||||
|
||||
WORKDIR /app
|
||||
USER $USER_ID:$USER_GID
|
||||
|
||||
ENV SERVER_DATA_DIR="/app/data" \
|
||||
KAFKA_STREAMS_STATE_DIR="/app/state/kafka" \
|
||||
WEB_SERVER_PORT=80
|
||||
|
||||
ENV WEB_SERVER_PORT=80
|
||||
EXPOSE $WEB_SERVER_PORT
|
||||
|
||||
ENV SERVER_DATA_DIR="/app/data"
|
||||
ENV KAFKA_STREAMS_STATE_DIR="/app/state/kafka"
|
||||
|
||||
VOLUME ${SERVER_DATA_DIR} \
|
||||
${KAFKA_STREAMS_STATE_DIR}
|
||||
|
||||
COPY ${DIST_DIR}/${APP_NAME}-${KAFKATORIO_VERSION}.tar ${APP_NAME}.tar
|
||||
|
||||
RUN tar -xf ${APP_NAME}.tar --strip-components=1 \
|
||||
&& rm ${APP_NAME}.tar \
|
||||
&& cp /app/bin/${APP_NAME} /app/bin/run \
|
||||
&& chmod 775 /app/bin/run
|
||||
COPY ${APP_FILES} /app/
|
||||
|
||||
ENTRYPOINT /app/bin/run
|
||||
|
|
|
|||
|
|
@ -7,12 +7,11 @@ services:
|
|||
container_name: ${APP_NAME}
|
||||
restart: unless-stopped
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: ./docker/Dockerfile
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
args:
|
||||
KAFKATORIO_VERSION: ${KAFKATORIO_VERSION}
|
||||
DIST_DIR: "./build/distributions/"
|
||||
APP_NAME: ${APP_NAME}
|
||||
APP_FILES: "./build/"
|
||||
environment:
|
||||
KAFKA_BOOTSTRAP_SERVERS: "http://kafka:29092"
|
||||
# KAFKA_STREAMS_STATE_DIR: ""
|
||||
|
|
|
|||
|
|
@ -2,24 +2,23 @@
|
|||
|
||||
FROM eclipse-temurin:11-jdk-jammy
|
||||
ARG KAFKATORIO_VERSION
|
||||
ARG DIST_DIR="../build/distributions/"
|
||||
ARG APP_FILES="build/"
|
||||
ARG USER_ID=1000
|
||||
ARG USER_GID=1000
|
||||
|
||||
WORKDIR /app
|
||||
USER $USER_ID:$USER_GID
|
||||
|
||||
ENV SERVER_PORT=8080
|
||||
EXPOSE $SERVER_PORT
|
||||
ENV SERVER_DATA_DIR="/app/data" \
|
||||
KAFKA_STREAMS_STATE_DIR="/app/state/kafka" \
|
||||
SERVER_PORT=8080 \
|
||||
SOCKET_SERVER_PORT=9002
|
||||
|
||||
ENV SOCKET_SERVER_PORT=9002
|
||||
EXPOSE $SOCKET_SERVER_PORT
|
||||
EXPOSE $SERVER_PORT \
|
||||
$SOCKET_SERVER_PORT
|
||||
|
||||
ENV SERVER_DATA_DIR="/app/data"
|
||||
ENV KAFKA_STREAMS_STATE_DIR="/app/state/kafka"
|
||||
VOLUME ${SERVER_DATA_DIR} \
|
||||
${KAFKA_STREAMS_STATE_DIR}
|
||||
|
||||
COPY ${DIST_DIR}/events-server-${KAFKATORIO_VERSION}.tar events-server.tar
|
||||
COPY ${APP_FILES} /app/
|
||||
|
||||
RUN tar -xf events-server.tar --strip-components=1 \
|
||||
&& rm events-server.tar
|
||||
|
||||
ENTRYPOINT /app/bin/events-server
|
||||
ENTRYPOINT /app/bin/run
|
||||
|
|
|
|||
|
|
@ -7,12 +7,11 @@ services:
|
|||
container_name: ${APP_NAME}
|
||||
restart: unless-stopped
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: ./docker/Dockerfile
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
args:
|
||||
KAFKATORIO_VERSION: ${KAFKATORIO_VERSION}
|
||||
DIST_DIR: "./build/distributions/"
|
||||
APP_NAME: ${APP_NAME}
|
||||
APP_FILES: "./build/"
|
||||
environment:
|
||||
KAFKA_BOOTSTRAP_SERVERS: "http://kafka:29092"
|
||||
# KAFKA_STREAMS_STATE_DIR: ""
|
||||
|
|
|
|||
|
|
@ -1,5 +1,3 @@
|
|||
import dev.adamko.geedeecee.DockerComposeExec
|
||||
|
||||
plugins {
|
||||
id("kafkatorio.conventions.base")
|
||||
id("dev.adamko.geedeecee")
|
||||
|
|
@ -17,39 +15,3 @@ geedeecee {
|
|||
tasks.dockerComposeUp {
|
||||
dependsOn(":modules:infra-kafka-cluster:dockerUp")
|
||||
}
|
||||
|
||||
|
||||
val dockerBuildKafkaPipe by tasks.registering(DockerComposeExec::class) {
|
||||
|
||||
dockerComposeDir.set(geedeecee.srcDir)
|
||||
command.set("docker-compose build kafka-pipe")
|
||||
|
||||
|
||||
// inputs.property("dockerSrcDirChecksum") { dockerSrcDir.filesChecksum() }
|
||||
//
|
||||
// outputs.upToDateWhen {
|
||||
// it.inputs.properties["dockerSrcDirChecksum"] as? Long? == dockerSrcDir.filesChecksum()
|
||||
// }
|
||||
|
||||
// val imageIdFile = file("$temporaryDir/docker-image-id.txt")
|
||||
// outputs.file(imageIdFile)
|
||||
|
||||
// workingDir = dockerSrcDir.asFile
|
||||
// commandLine = parseSpaceSeparatedArgs(""" docker-compose build kafka-pipe """)
|
||||
|
||||
// doLast {
|
||||
// sync {
|
||||
// from(dockerSrcDir)
|
||||
// into(temporaryDir)
|
||||
// }
|
||||
// imageIdFile.outputStream().use { os ->
|
||||
// exec {
|
||||
// workingDir = dockerSrcDir.asFile
|
||||
// commandLine = parseSpaceSeparatedArgs(""" docker-compose images -q kafka-pipe """)
|
||||
// standardOutput = os
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
}
|
||||
|
||||
tasks.assemble { dependsOn(dockerBuildKafkaPipe) }
|
||||
|
|
|
|||
|
|
@ -148,6 +148,6 @@ tasks.zip {
|
|||
}
|
||||
|
||||
|
||||
tasks.dockerComposeBuild {
|
||||
dependsOn(tasks.zip)
|
||||
tasks.dockerContextPrepareFiles {
|
||||
from(zipTree(tasks.zip.flatMap { it.archiveFile }))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,10 @@
|
|||
# syntax=docker/dockerfile:1
|
||||
|
||||
FROM nginx
|
||||
ARG APP_FILES="build/"
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
COPY ./docker/nginx.conf /etc/nginx/nginx.conf
|
||||
COPY ./nginx.conf /etc/nginx/nginx.conf
|
||||
|
||||
COPY ./build/distributions /usr/share/nginx/html
|
||||
COPY $APP_FILES /usr/share/nginx/html
|
||||
|
|
|
|||
|
|
@ -7,10 +7,11 @@ services:
|
|||
container_name: ${APP_NAME}
|
||||
restart: unless-stopped
|
||||
build:
|
||||
context: ".."
|
||||
dockerfile: ./docker/Dockerfile
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
args:
|
||||
APP_NAME: ${APP_NAME}
|
||||
KAFKATORIO_VERSION: ${KAFKATORIO_VERSION}
|
||||
APP_FILES: "./build/"
|
||||
ports:
|
||||
- "12081:80"
|
||||
networks:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue