biarms / mysql

One more Docker MySQL project for ARM devices
GNU General Public License v2.0
155 stars 24 forks source link

The biarms/mysql project

GitHub release (latest by date) GitHub release (latest SemVer including pre-releases)

TravisCI build status image CircleCI build status image

Docker Pulls image Docker Stars image Highest Docker release

Overview

This is a fork of the Git repo of the Docker official image for Mysql. See the Docker Hub page for the full readme on how to use this Docker image and for information regarding contributing and issues.

The goal of this fork was to build ARM (arm32v6, arm32v7, arm64v8) compliant images, as the official 'mysql' don't support such ARMS builds, which could be confirmed by running this command:

# `docker run --rm mplatform/mquery mysql`, which is an older (and lighter !) alternative to `DOCKER_CLI_EXPERIMENTAL=enabled docker manifest inspect mysql
Image: mysql
 * Manifest List: Yes
 * Supported platforms:
   - linux/amd64

While

# docker run --rm mplatform/mquery biarms/mysql:5
Image: biarms/mysql:5
 * Manifest List: Yes
 * Supported platforms:
   - linux/arm/v6
   - linux/amd64
   - linux/arm64

Notices that these images are build on top of official docker images (resin/raspbian for armv6 and ubuntu for armv7 and arm64), and (try to) offer the same 'docker-entry-point' functionality as the official images (including the MYSQL_ROOT_PASSWORD_FILE useful for docker swarm).

As these docker images were created to mimic as much as possible the official mysql build, the official 'mysql' readme (available at docker-library/docs and specifically in docker-library/docs/mysql) should be fully applicable.

To pull this image from docker hub/docker cloud:

$ docker pull biarms/mysql:5 # should get a working images on any arm device from v6 to v8, but also on x86_64 server  

Caution:

Detailed image information:

Versions summary:

arm32v6 arm32v7 arm64v8 amd64
docker run --rm biarms/mysql --version 5.5.60 5.5.60 (1) 5.7.30 5.7.30
docker run --rm biarms/mysql:5 --version 5.5.60 5.5.60 (1) 5.7.30 5.7.30
docker run --rm biarms/mysql:5.5 --version 5.5.60 5.5.60 (2) 5.5.62 5.5.62
docker run --rm biarms/mysql:5.5.62 --version NOK 5.5.62 5.5.62 5.5.62
docker run --rm biarms/mysql:5.7 --version NOK 5.7.30 5.7.30 5.7.30
docker run --rm biarms/mysql:5.7.30 --version NOK 5.7.30 5.7.30 5.7.30

Architecture

arm32v6 arm32v7 arm64v8 amd64
docker run --rm biarms/mysql dpkg --print-architecture armhf armhf arm64 amd64
docker run --rm biarms/mysql:5 dpkg --print-architecture armhf armhf arm64 amd64
docker run --rm biarms/mysql:5.5 dpkg --print-architecture armhf armhf arm64 amd64
docker run --rm biarms/mysql:5.5.62 dpkg --print-architecture armhf armhf arm64 amd64
docker run --rm biarms/mysql:5.7 dpkg --print-architecture armhf armhf arm64 amd64
docker run --rm biarms/mysql:5.7.30 dpkg --print-architecture armhf armhf arm64 amd64

Base OS

arm32v6 arm32v7 arm64v8 amd64
docker run --rm biarms/mysql sh -c 'cat /etc/*release' debian 7 (a) debian 7 (a) (1) Ubuntu 18.04.4 Ubuntu 18.04.4
docker run --rm biarms/mysql:5 sh -c 'cat /etc/*release' debian 7 (a) debian 7 (a) (1) Ubuntu 18.04.4 Ubuntu 18.04.4
docker run --rm biarms/mysql:5.5 sh -c 'cat /etc/*release' debian 7 (a) debian 7 (a) (2) Ubuntu 14.04.6 Ubuntu 14.04.6
docker run --rm biarms/mysql:5.5.62 sh -c 'cat /etc/*release' NOK Ubuntu 14.04.6 Ubuntu 14.04.6 Ubuntu 14.04.6
docker run --rm biarms/mysql:5.7 sh -c 'cat /etc/*release' NOK Ubuntu 18.04.4 Ubuntu 18.04.4 Ubuntu 18.04.4
docker run --rm biarms/mysql:5.7.30 sh -c 'cat /etc/*release' NOK Ubuntu 18.04.4 Ubuntu 18.04.4 Ubuntu 18.04.4

How to get real arm32v7 images on arm32v7 devices ?

By downloading them directly, without using the docker manifest. For instance:

docker run -it --rm biarms/mysql:5.5.62-linux-arm32v7 --version

How to build locally:

Thanks to CircleCi client:

circleci local execute -e DOCKER_USERNAME=******** -e DOCKER_PASSWORD=********

or

DOCKER_USERNAME=******** DOCKER_PASSWORD=******** make circleci-local-build

Misc references:

  1. https://dariancabot.com/2017/04/26/raspberry-pi-installing-mysql-5-7-on-jessie/
  2. http://ftp.debian.org/debian/pool/main/m/mysql-5.7/