mirror of
https://github.com/rclone/rclone
synced 2024-11-21 22:50:16 +01:00
build: fix docker build on arm/v6
Unexpectedly the team which runs the Go docker images have removed the arm/v6 image which means that the rclone docker images no longer build. One of the recommended fixes is what we've done here - switch to the alpine builder. This has the advantage that it actually builds arm/v6 architecture unlike the previous builder which build arm/v5. See: https://github.com/docker-library/golang/issues/502
This commit is contained in:
parent
208e49ce4b
commit
578b9df6ea
@ -1,8 +1,9 @@
|
|||||||
FROM golang AS builder
|
FROM golang:alpine AS builder
|
||||||
|
|
||||||
COPY . /go/src/github.com/rclone/rclone/
|
COPY . /go/src/github.com/rclone/rclone/
|
||||||
WORKDIR /go/src/github.com/rclone/rclone/
|
WORKDIR /go/src/github.com/rclone/rclone/
|
||||||
|
|
||||||
|
RUN apk add --no-cache make bash gawk git
|
||||||
RUN \
|
RUN \
|
||||||
CGO_ENABLED=0 \
|
CGO_ENABLED=0 \
|
||||||
make
|
make
|
||||||
|
39
RELEASE.md
39
RELEASE.md
@ -124,32 +124,21 @@ Cherry pick any changes back to master and the stable branch if it is active.
|
|||||||
|
|
||||||
## Making a manual build of docker
|
## Making a manual build of docker
|
||||||
|
|
||||||
The rclone docker image should autobuild on via GitHub actions. If it doesn't
|
To do a basic build of rclone's docker image to debug builds locally:
|
||||||
or needs to be updated then rebuild like this.
|
|
||||||
|
```
|
||||||
See: https://github.com/ilteoood/docker_buildx/issues/19
|
docker buildx build --load -t rclone/rclone:testing --progress=plain .
|
||||||
See: https://github.com/ilteoood/docker_buildx/blob/master/scripts/install_buildx.sh
|
docker run --rm rclone/rclone:testing version
|
||||||
|
```
|
||||||
|
|
||||||
|
To test the multipatform build
|
||||||
|
|
||||||
|
```
|
||||||
|
docker buildx build -t rclone/rclone:testing --progress=plain --platform linux/amd64,linux/386,linux/arm64,linux/arm/v7,linux/arm/v6 .
|
||||||
|
```
|
||||||
|
|
||||||
|
To make a full build then set the tags correctly and add `--push`
|
||||||
|
|
||||||
```
|
```
|
||||||
git co v1.54.1
|
|
||||||
docker pull golang
|
|
||||||
export DOCKER_CLI_EXPERIMENTAL=enabled
|
|
||||||
docker buildx create --name actions_builder --use
|
|
||||||
docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3
|
|
||||||
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
|
||||||
SUPPORTED_PLATFORMS=$(docker buildx inspect --bootstrap | grep 'Platforms:*.*' | cut -d : -f2,3)
|
|
||||||
echo "Supported platforms: $SUPPORTED_PLATFORMS"
|
|
||||||
docker buildx build --platform linux/amd64,linux/386,linux/arm64,linux/arm/v7 -t rclone/rclone:1.54.1 -t rclone/rclone:1.54 -t rclone/rclone:1 -t rclone/rclone:latest --push .
|
docker buildx build --platform linux/amd64,linux/386,linux/arm64,linux/arm/v7 -t rclone/rclone:1.54.1 -t rclone/rclone:1.54 -t rclone/rclone:1 -t rclone/rclone:latest --push .
|
||||||
docker buildx stop actions_builder
|
|
||||||
```
|
|
||||||
|
|
||||||
### Old build for linux/amd64 only
|
|
||||||
|
|
||||||
```
|
|
||||||
docker pull golang
|
|
||||||
docker build --rm --ulimit memlock=67108864 -t rclone/rclone:1.52.0 -t rclone/rclone:1.52 -t rclone/rclone:1 -t rclone/rclone:latest .
|
|
||||||
docker push rclone/rclone:1.52.0
|
|
||||||
docker push rclone/rclone:1.52
|
|
||||||
docker push rclone/rclone:1
|
|
||||||
docker push rclone/rclone:latest
|
|
||||||
```
|
```
|
||||||
|
Loading…
Reference in New Issue
Block a user