Переглянути джерело

Merge pull request #335 from pinry/feature/add-multi-platoform-build

feature: try to add docker build for docker buildx close #333
tags/v2.1.8
Ji Qu 2 роки тому
committed by GitHub
джерело
коміт
75a2b03486
Не вдалося знайти GPG ключ що відповідає даному підпису Ідентифікатор GPG ключа: 4AEE18F83AFDEB23
3 змінених файлів з 31 додано та 2 видалено
  1. +4
    -1
      Dockerfile.autobuild
  2. +9
    -1
      docker/build_docker.sh
  3. +18
    -0
      docker/build_docker_multiple_platform.sh

+ 4
- 1
Dockerfile.autobuild Переглянути файл

@@ -22,14 +22,17 @@ RUN yarn build

# Required for other database options
FROM python:3.9.12-slim-buster as base
ARG DEBIAN_FRONTEND=noninteractive

RUN apt-get update \
&& if [ $(dpkg --print-architecture) = "arm64" -o $(dpkg --print-architecture) = "armhf" ]; then apt-get -y install apt-utils; fi \
&& apt-get -y install gcc default-libmysqlclient-dev
RUN pip --no-cache-dir install --user mysqlclient cx-Oracle


# Final image
FROM python:3.9.12-slim-buster
ARG DEBIAN_FRONTEND=noninteractive

WORKDIR pinry
RUN mkdir /data && chown -R www-data:www-data /data
@@ -48,7 +51,7 @@ RUN apt-get update \
# Install Pillow dependencies
&& apt-get -y install libopenjp2-7 libjpeg-turbo-progs libjpeg62-turbo-dev libtiff5-dev libxcb1 \
# Needed to compile psycopg2 on arm (fallback for psycopg2-binary)
&& if [ $(dpkg --print-architecture) = "arm64" -o $(dpkg --print-architecture) = "armhf" ]; then apt-get -y install libpq-dev gcc; fi \
&& if [ $(dpkg --print-architecture) = "arm64" -o $(dpkg --print-architecture) = "armhf" ]; then apt-get -y install apt-utils libpq-dev gcc; fi \
&& rm -rf /var/lib/apt/lists/* \
&& apt-get autoclean



+ 9
- 1
docker/build_docker.sh Переглянути файл

@@ -1,4 +1,12 @@
#!/bin/bash

script_dir="$( dirname "${0}" )"
sudo docker build -t getpinry/pinry${@} "${script_dir}/../" -f "${script_dir}/../Dockerfile.autobuild"

IMAGE_LATEST_TAG="latest"
IMAGE_VERSION_TAG=`git tag -l --sort=-creatordate | head -n 1 | sed "s/v//g"`

sudo docker build -t getpinry/pinry:${IMAGE_LATEST_TAG} "${script_dir}/../" \
-f "${script_dir}/../Dockerfile.autobuild"

sudo docker build -t getpinry/pinry:${IMAGE_VERSION_TAG} "${script_dir}/../" \
-f "${script_dir}/../Dockerfile.autobuild"

+ 18
- 0
docker/build_docker_multiple_platform.sh Переглянути файл

@@ -0,0 +1,18 @@
#!/bin/bash

script_dir="$( dirname "${0}" )"

IMAGE_LATEST_TAG="latest"
IMAGE_VERSION_TAG=`git tag -l --sort=-creatordate | head -n 1 | sed "s/v//g"`

sudo docker buildx build \
--push \
--platform linux/arm/v7,linux/arm64/v8,linux/amd64 \
-t getpinry/pinry:${IMAGE_LATEST_TAG} "${script_dir}/../" \
-f "${script_dir}/../Dockerfile.autobuild"

sudo docker buildx build \
--push \
--platform linux/arm/v7,linux/arm64/v8,linux/amd64 \
-t getpinry/pinry:${IMAGE_VERSION_TAG} "${script_dir}/../" \
-f "${script_dir}/../Dockerfile.autobuild"

Завантаження…
Відмінити
Зберегти