-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathDockerfile
52 lines (41 loc) · 2.38 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
FROM alpine:3.13.2
LABEL maintainer="Peter Szalatnay <[email protected]>"
ENV PXC_VERSION 8.0.21
ENV PKG_RELEASE 12.1
ENV XTRABACKUP_VERSION 8.0.22
RUN set -eux; \
addgroup -S mysql; \
adduser -D -S -h /var/lib/mysql -s /sbin/nologin -G mysql mysql; \
apk add --update --no-cache \
curl \
bash \
libpwquality \
tzdata; \
cd /tmp; \
curl -fSL "https://github.com/Flowman/pxc-alpine/releases/download/${PXC_VERSION}-${PKG_RELEASE}/percona-xtradb-cluster-client-${PXC_VERSION}-r0.apk" -o "percona-xtradb-cluster-client-${PXC_VERSION}-r0.apk"; \
curl -fSL "https://github.com/Flowman/pxc-alpine/releases/download/${PXC_VERSION}-${PKG_RELEASE}/percona-xtradb-cluster-common-${PXC_VERSION}-r0.apk" -o "percona-xtradb-cluster-common-${PXC_VERSION}-r0.apk"; \
curl -fSL "https://github.com/Flowman/pxc-alpine/releases/download/${PXC_VERSION}-${PKG_RELEASE}/percona-xtradb-cluster-${PXC_VERSION}-r0.apk" -o "percona-xtradb-cluster-${PXC_VERSION}-r0.apk"; \
curl -fSL "https://github.com/Flowman/pxc-alpine/releases/download/${PXC_VERSION}-${PKG_RELEASE}/percona-xtrabackup-${XTRABACKUP_VERSION}-r0.apk" -o "percona-xtrabackup-${XTRABACKUP_VERSION}-r0.apk"; \
apk add --allow-untrusted --no-cache \
percona-xtradb-cluster-client-${PXC_VERSION}-r0.apk \
percona-xtradb-cluster-common-${PXC_VERSION}-r0.apk \
percona-xtradb-cluster-${PXC_VERSION}-r0.apk \
percona-xtrabackup-${XTRABACKUP_VERSION}-r0.apk; \
rm /tmp/percona*;
RUN rm -rf /etc/mysql/mysql.conf.d; \
rm -f /etc/mysql/*.cnf*; \
ln -s /etc/mysql/conf.d /etc/my.cnf.d; \
rm -f /etc/percona-xtradb-cluster.conf.d/*.cnf; \
echo '!include /etc/mysql/node.cnf' > /etc/my.cnf; \
echo '!includedir /etc/my.cnf.d/' >> /etc/my.cnf; \
echo '!includedir /etc/percona-xtradb-cluster.conf.d/' >> /etc/my.cnf;
COPY dockerdir /
RUN mkdir -p /etc/mysql/conf.d/ /var/log/mysql /var/lib/mysql /docker-entrypoint-initdb.d /etc/percona-xtradb-cluster.conf.d; \
chown -R mysql:mysql /etc/mysql/ /var/log/mysql /var/lib/mysql /docker-entrypoint-initdb.d /etc/percona-xtradb-cluster.conf.d; \
chmod -R g=u /etc/mysql/ /var/log/mysql /var/lib/mysql /docker-entrypoint-initdb.d /etc/percona-xtradb-cluster.conf.d
VOLUME ["/var/lib/mysql", "/run/mysqld"]
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
USER mysql
EXPOSE 3306 4567 4568 33060
CMD ["mysqld"]