From 8e4c3c0e8e6c82b84501ef577e4fd069e9c05b02 Mon Sep 17 00:00:00 2001 From: Yibo Cai Date: Thu, 18 Jan 2018 11:24:19 +0800 Subject: compass-db: support arm64 Differences from x86_64: - Dockerfile: don't quit if apt-get update failed - Dockerfile: add volume /var/lib/msql - entrypoint.sh: create user and db only if not exists Change-Id: Ic9aa757b1943c8340eb5b2429683bb12e034a29b Signed-off-by: Yibo Cai --- compass-db/Dockerfile-arm64 | 15 +++++++++++++++ compass-db/entrypoint-arm64.sh | 43 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 compass-db/Dockerfile-arm64 create mode 100644 compass-db/entrypoint-arm64.sh diff --git a/compass-db/Dockerfile-arm64 b/compass-db/Dockerfile-arm64 new file mode 100644 index 0000000..7b5755c --- /dev/null +++ b/compass-db/Dockerfile-arm64 @@ -0,0 +1,15 @@ +FROM ubuntu:trusty + +EXPOSE 3306 +ARG BRANCH=master + +RUN (apt-get update || true) && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y mysql-server && \ + rm -rf /var/lib/apt/lists/* + +COPY entrypoint-arm64.sh /sbin/entrypoint.sh +RUN chmod 755 /sbin/entrypoint.sh + +VOLUME ["/var/lib/mysql"] + +CMD ["/sbin/entrypoint.sh"] diff --git a/compass-db/entrypoint-arm64.sh b/compass-db/entrypoint-arm64.sh new file mode 100644 index 0000000..37b3437 --- /dev/null +++ b/compass-db/entrypoint-arm64.sh @@ -0,0 +1,43 @@ +#!/bin/bash +set -x + +create_users_and_dbs() { + /usr/bin/mysqld_safe > /dev/null 2>&1 & + + timeout=30 + # wait up to 30 secs... + while ! /usr/bin/mysqladmin -u root status > /dev/null 2>&1 + do + timeout=$(($timeout - 1)) + if [ $timeout -eq 0 ]; then + echo -e "\nCould not connect to database server. Aborting..." + exit 1 + fi + echo -n "." + sleep 1 + done + + echo "Creating user..." + mysqladmin -h127.0.0.1 --port=3306 -u root password root + mysql -h127.0.0.1 --port=3306 -uroot -proot -e "create database compass" + mysql -h127.0.0.1 --port=3306 -uroot -proot -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root'" + mysqladmin -uroot -proot shutdown +} + +listen_on_all_interfaces() { + cat >> /etc/mysql/conf.d/mysql-listen-compass.cnf <