47 lines
1.8 KiB
Docker
47 lines
1.8 KiB
Docker
FROM ubuntu:26.04
|
|
|
|
# Tránh các câu hỏi tương tác trong quá trình cài đặt
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
RUN apt-get update && apt-get install -y ca-certificates && apt-get clean
|
|
|
|
RUN sed -i 's|http://archive.ubuntu.com|https://apt.demonkernel.io.vn|g' /etc/apt/sources.list.d/ubuntu.sources && \
|
|
sed -i 's|http://security.ubuntu.com|https://apt.demonkernel.io.vn|g' /etc/apt/sources.list.d/ubuntu.sources
|
|
|
|
# 1. Cài đặt các công cụ cơ bản
|
|
RUN apt-get update --fix-missing && apt-get install --no-install-recommends --no-install-suggests -y \
|
|
curl \
|
|
bash \
|
|
build-essential \
|
|
docker-buildx \
|
|
git \
|
|
docker.io \
|
|
maven \
|
|
libz-dev
|
|
|
|
# 5. Cấu hình Git
|
|
RUN git config --global --add safe.directory '*'
|
|
|
|
# 2. Cài đặt Node.js & PNPM (thay thế cho apk pnpm)
|
|
RUN curl -fsSL https://get.pnpm.io/install.sh | bash -
|
|
|
|
# 3. Cài đặt Kubectl
|
|
RUN curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" \
|
|
&& install -m 0755 kubectl /usr/local/bin/kubectl
|
|
|
|
# 4. Cài đặt Mandrel 25
|
|
# Lưu ý: Dùng bản linux-amd64 (glibc) tiêu chuẩn cho Ubuntu
|
|
ENV JAVA_HOME=/usr/lib/jvm/mandrel
|
|
ENV GRAALVM_HOME=/usr/lib/jvm/mandrel
|
|
ENV PATH="${JAVA_HOME}/bin:${PATH}"
|
|
|
|
RUN mkdir -p ${JAVA_HOME} && \
|
|
curl -L https://github.com/graalvm/mandrel/releases/download/mandrel-25.0.2.0-Final/mandrel-java25-linux-amd64-25.0.2.0-Final.tar.gz | tar -xz -C ${JAVA_HOME} --strip-components=1
|
|
|
|
# 6. Cài đặt JBang & Quarkus CLI
|
|
ENV JBANG_DIR="/root/.jbang"
|
|
ENV PATH="${JBANG_DIR}/bin:${PATH}"
|
|
|
|
RUN curl -Ls https://sh.jbang.dev | bash -s - trust add https://repo1.maven.org/maven2/io/quarkus/quarkus-cli/
|
|
RUN curl -Ls https://sh.jbang.dev | bash -s - app install --fresh --force quarkus@quarkusio
|