How to Easily Publish a Multi-Platform Docker Image

Create A Dockerfile supporting multiple arch The key point is ARG TARGETARCH You have to declare it before using it as variable FROM python:3 ARG TARGETARCH WORKDIR /app RUN git clone https://github.com/MurmursDev/easyblogger.git RUN cd easyblogger && pip install . RUN rm -rf easyblogger RUN wget https://github.com/jgm/pandoc/releases/download/3.1.1/pandoc-3.1.1-1-$TARGETARCH.deb RUN dpkg -i pandoc-3.1.1-1-$TARGETARCH.deb RUN rm pandoc-3.1.1-1-$TARGETARCH.deb ENTRYPOINT ["/usr/local/bin/easyblogger"] Create a Github Workflow name: ci on: push: branches: - "main" jobs: docker: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Set up QEMU uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - name: Login to Docker Hub uses: docker/login-action@v2 with: username: ${{ secrets....

April 16, 2023 · 1 min · 126 words · Murmurs Dev