update base image
This commit is contained in:
@@ -8,13 +8,14 @@ on:
|
|||||||
|
|
||||||
env:
|
env:
|
||||||
IMAGE_BASE: git.thuanle.me/public/base
|
IMAGE_BASE: git.thuanle.me/public/base
|
||||||
IMAGE: arch-docker-node
|
IMAGE: docker-node
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
arch:
|
arch:
|
||||||
|
- arm64
|
||||||
- amd64
|
- amd64
|
||||||
runs-on: ${{ matrix.arch }}
|
runs-on: ${{ matrix.arch }}
|
||||||
steps:
|
steps:
|
||||||
@@ -40,3 +41,26 @@ jobs:
|
|||||||
.
|
.
|
||||||
|
|
||||||
docker push ${{ env.IMAGE_BASE }}:${{ env.IMAGE }}-${{ matrix.arch }}-latest
|
docker push ${{ env.IMAGE_BASE }}:${{ env.IMAGE }}-${{ matrix.arch }}-latest
|
||||||
|
|
||||||
|
amend-manifest:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [build]
|
||||||
|
steps:
|
||||||
|
- name: Login to Docker Registry
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: git.thuanle.me
|
||||||
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
|
||||||
|
- name: Push Docker manifest
|
||||||
|
run: |
|
||||||
|
echo "Delete existing manifest"
|
||||||
|
docker manifest rm {{ env.IMAGE_BASE }}:${{ env.IMAGE }}-latest || true
|
||||||
|
|
||||||
|
echo "Create new manifest"
|
||||||
|
docker manifest create {{ env.IMAGE_BASE }}:${{ env.IMAGE }}-latest \
|
||||||
|
${{ env.IMAGE_BASE }}:${{ env.IMAGE }}-amd64-latest \
|
||||||
|
${{ env.IMAGE_BASE }}:${{ env.IMAGE }}-arm64-latest
|
||||||
|
|
||||||
|
docker manifest push {{ env.IMAGE_BASE }}:${{ env.IMAGE }}-latest
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
FROM archlinux:latest
|
|
||||||
|
|
||||||
# Ngăn pacman hỏi khi cài
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive \
|
|
||||||
DOCKER_HOST=unix:///var/run/docker.sock
|
|
||||||
|
|
||||||
# Cập nhật và cài Docker CLI + Node.js + yarn
|
|
||||||
RUN pacman -Syu --noconfirm \
|
|
||||||
docker \
|
|
||||||
nodejs \
|
|
||||||
npm \
|
|
||||||
yarn \
|
|
||||||
git \
|
|
||||||
&& pacman -Scc --noconfirm
|
|
||||||
|
|
||||||
# Kiểm tra phiên bản
|
|
||||||
RUN docker --version && node --version && npm --version && yarn --version
|
|
||||||
|
|
||||||
# Thư mục làm việc mặc định
|
|
||||||
WORKDIR /workspace
|
|
||||||
|
|
||||||
CMD [ "bash" ]
|
|
||||||
19
docker-node.Dockerfile
Normal file
19
docker-node.Dockerfile
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
# Node LTS 24 trên Debian 12 (Bookworm) bản slim
|
||||||
|
FROM node:latest
|
||||||
|
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive \
|
||||||
|
DOCKER_HOST=unix:///var/run/docker.sock
|
||||||
|
|
||||||
|
# Cài Docker CLI từ repo chính thức của Docker (lấy bản mới nhất)
|
||||||
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
ca-certificates curl gnupg git lsb-release \
|
||||||
|
&& install -m 0755 -d /etc/apt/keyrings \
|
||||||
|
&& curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc \
|
||||||
|
&& chmod a+r /etc/apt/keyrings/docker.asc \
|
||||||
|
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \
|
||||||
|
https://download.docker.com/linux/debian $(. /etc/os-release; echo $VERSION_CODENAME) stable" \
|
||||||
|
> /etc/apt/sources.list.d/docker.list \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends docker-ce-cli \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
Reference in New Issue
Block a user