summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYibo Cai <yibo.cai@arm.com>2018-01-18 11:24:19 +0800
committerYibo Cai <yibo.cai@arm.com>2018-01-19 11:36:16 +0800
commit8e4c3c0e8e6c82b84501ef577e4fd069e9c05b02 (patch)
tree72ba1971fc85a95f3a0980fc7c02e10dc67b156e
parent8ec10f60d0fc9bfc43fcea57d6c809646bd4a48a (diff)
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 <yibo.cai@arm.com>
-rw-r--r--compass-db/Dockerfile-arm6415
-rw-r--r--compass-db/entrypoint-arm64.sh43
2 files changed, 58 insertions, 0 deletions
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 <<EOF
+[mysqld]
+bind-address=0.0.0.0
+[mysqld_safe]
+bind-address=0.0.0.0
+EOF
+}
+
+
+if [[ -z ${1} ]]; then
+ if [ ! -f /etc/mysql/conf.d/mysql-listen-compass.cnf ]; then
+ create_users_and_dbs
+ listen_on_all_interfaces
+ fi
+ /usr/bin/mysqld_safe
+fi