-
Notifications
You must be signed in to change notification settings - Fork 77
/
Copy pathDockerfile
62 lines (51 loc) · 2.54 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# Builder Stage
FROM eclipse-temurin:17-jre-jammy
# Create liquibase user
RUN groupadd --gid 1001 liquibase && \
useradd --uid 1001 --gid liquibase --create-home --home-dir /liquibase liquibase && \
chown liquibase /liquibase
# Install necessary dependencies
#RUN apt-get update && \
# apt-get -yqq install krb5-user libpam-krb5 --no-install-recommends && \
# rm -rf /var/lib/apt/lists/*
# Download and install Liquibase
WORKDIR /liquibase
ARG LIQUIBASE_VERSION=4.31.1
ARG LB_SHA256=0555808b59941d497f0c1114c3f2225698afde11c60d191c88e449506a60a3ea
RUN wget -q -O liquibase-${LIQUIBASE_VERSION}.tar.gz "https://github.com/liquibase/liquibase/releases/download/v${LIQUIBASE_VERSION}/liquibase-${LIQUIBASE_VERSION}.tar.gz" && \
echo "$LB_SHA256 *liquibase-${LIQUIBASE_VERSION}.tar.gz" | sha256sum -c - && \
tar -xzf liquibase-${LIQUIBASE_VERSION}.tar.gz && \
rm liquibase-${LIQUIBASE_VERSION}.tar.gz && \
ln -s /liquibase/liquibase /usr/local/bin/liquibase && \
ln -s /liquibase/docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh && \
liquibase --version
ARG LPM_VERSION=0.2.9
ARG LPM_SHA256=423673ad9bbb1711cd6b4db004223f3d927f5cda8c17f7f92cb10b882059d2c8
ARG LPM_SHA256_ARM=d3080a913cb17a0346ff27229ce06090d8bb1f29d719c33087a36aa29705fc20
# Download and Install lpm
RUN apt-get update && \
apt-get -yqq install unzip --no-install-recommends && \
rm -rf /var/lib/apt/lists/* && \
mkdir /liquibase/bin && \
arch="$(dpkg --print-architecture)" && \
case "$arch" in \
amd64) DOWNLOAD_ARCH="" ;; \
arm64) DOWNLOAD_ARCH="-arm64" && LPM_SHA256=$LPM_SHA256_ARM ;; \
*) echo >&2 "error: unsupported architecture '$arch'" && exit 1 ;; \
esac && wget -q -O lpm-${LPM_VERSION}-linux${DOWNLOAD_ARCH}.zip "https://github.com/liquibase/liquibase-package-manager/releases/download/v${LPM_VERSION}/lpm-${LPM_VERSION}-linux${DOWNLOAD_ARCH}.zip" && \
echo "$LPM_SHA256 *lpm-${LPM_VERSION}-linux${DOWNLOAD_ARCH}.zip" | sha256sum -c - && \
unzip lpm-${LPM_VERSION}-linux${DOWNLOAD_ARCH}.zip -d bin/ && \
rm lpm-${LPM_VERSION}-linux${DOWNLOAD_ARCH}.zip && \
apt-get purge -y --auto-remove unzip && \
ln -s /liquibase/bin/lpm /usr/local/bin/lpm && \
lpm --version
# Set LIQUIBASE_HOME environment variable
ENV LIQUIBASE_HOME=/liquibase
# Marker which indicates this is a Liquibase docker container
ENV DOCKER_LIQUIBASE=true
COPY docker-entrypoint.sh ./
COPY liquibase.docker.properties ./
# Set user and group
USER liquibase:liquibase
ENTRYPOINT ["/liquibase/docker-entrypoint.sh"]
CMD ["--help"]