1
- # =============================================================================
2
- # jdeathe/centos-ssh-mysql
3
- #
4
- # CentOS-7, MySQL 5.7 Community Server
5
- #
6
- # =============================================================================
7
- FROM jdeathe/centos-ssh:2.4.1
1
+ FROM jdeathe/centos-ssh:2.5.1
8
2
9
- # -----------------------------------------------------------------------------
10
- # Install MySQL
11
- # -----------------------------------------------------------------------------
12
- RUN { \
13
- echo '[mysql57-community]' ; \
14
- echo 'name=MySQL 5.7 Community Server' ; \
15
- echo 'baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/' ; \
16
- echo 'gpgcheck=1' ; \
17
- echo 'enabled=1' ; \
18
- echo 'gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql' ; \
3
+ ARG RELEASE_VERSION="2.2.0"
4
+
5
+ # ------------------------------------------------------------------------------
6
+ # Base install of required packages
7
+ # ------------------------------------------------------------------------------
8
+ RUN { printf -- \
9
+ '[%s]\n name=%s\n baseurl=%s\n gpgcheck=%s\n enabled=%s\n gpgkey=%s\n ' \
10
+ 'mysql57-community' \
11
+ 'MySQL 5.7 Community Server' \
12
+ 'http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/' \
13
+ '1' \
14
+ '1' \
15
+ 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql' ; \
19
16
} > /etc/yum.repos.d/mysql-community.repo \
20
17
&& rpm --import \
21
18
https://repo.mysql.com/RPM-GPG-KEY-mysql \
22
19
&& yum -y install \
23
20
--setopt=tsflags=nodocs \
24
21
--disableplugin=fastestmirror \
25
- mysql-community-server-5.7.23-1.el7 \
22
+ mysql-community-client-5.7.25-1.el7 \
23
+ mysql-community-common-5.7.25-1.el7 \
24
+ mysql-community-libs-5.7.25-1.el7 \
25
+ mysql-community-server-5.7.25-1.el7 \
26
26
psmisc-22.20-15.el7 \
27
+ sshpass-1.06-2.el7 \
27
28
&& yum versionlock add \
28
- mysql* \
29
+ mysql-community-* \
30
+ psmisc-* \
31
+ sshpass \
29
32
&& rm -rf /var/cache/yum/* \
30
33
&& yum clean all
31
34
32
- # -----------------------------------------------------------------------------
35
+ # ------------------------------------------------------------------------------
33
36
# Copy files into place
34
- # -----------------------------------------------------------------------------
35
- ADD src/usr/bin \
36
- /usr/bin/
37
- ADD src/usr/sbin \
38
- /usr/sbin/
39
- ADD src/opt/scmi \
40
- /opt/scmi/
41
- ADD src/etc/systemd/system \
42
- /etc/systemd/system/
43
- ADD src/etc/services-config/mysql/my.cnf \
44
- src/etc/services-config/mysql/mysqld-bootstrap.conf \
45
- /etc/services-config/mysql/
46
- ADD src/etc/services-config/supervisor/supervisord.d \
47
- /etc/services-config/supervisor/supervisord.d/
37
+ # ------------------------------------------------------------------------------
38
+ ADD src /
48
39
49
- RUN ln -sf \
50
- /etc/services-config/mysql/my.cnf \
51
- /etc/my.cnf \
52
- && ln -sf \
53
- /etc/services-config/mysql/mysqld-bootstrap.conf \
54
- /etc/mysqld-bootstrap.conf \
55
- && ln -sf \
56
- /etc/services-config/supervisor/supervisord.d/mysqld-bootstrap.conf \
57
- /etc/supervisord.d/mysqld-bootstrap.conf \
58
- && ln -sf \
59
- /etc/services-config/supervisor/supervisord.d/mysqld-wrapper.conf \
60
- /etc/supervisord.d/mysqld-wrapper.conf \
40
+ # ------------------------------------------------------------------------------
41
+ # Provisioning
42
+ # - Replace placeholders with values in systemd service unit template
43
+ # - Set permissions
44
+ # ------------------------------------------------------------------------------
45
+ RUN sed -i \
46
+ -e "s~{{RELEASE_VERSION}}~${RELEASE_VERSION}~g" \
47
+ /etc/systemd/system/centos-ssh-mysql@.service \
61
48
&& chmod 600 \
62
- /etc/services-config/mysql/{my.cnf,mysqld-bootstrap.conf} \
49
+ /etc/my.cnf \
50
+ && chmod 644 \
51
+ /etc/supervisord.d/mysqld-{bootstrap,wrapper}.conf \
63
52
&& chmod 700 \
64
53
/usr/{bin/healthcheck,sbin/mysqld-{bootstrap,wrapper}}
65
54
@@ -68,22 +57,24 @@ EXPOSE 3306
68
57
# -----------------------------------------------------------------------------
69
58
# Set default environment variables
70
59
# -----------------------------------------------------------------------------
71
- ENV MYSQL_AUTOSTART_MYSQLD_BOOTSTRAP=true \
72
- MYSQL_AUTOSTART_MYSQLD_WRAPPER=true \
60
+ ENV MYSQL_AUTOSTART_MYSQLD_BOOTSTRAP="true" \
61
+ MYSQL_AUTOSTART_MYSQLD_WRAPPER="true" \
62
+ MYSQL_INIT_LIMIT="60" \
63
+ MYSQL_INIT_SQL="" \
73
64
MYSQL_ROOT_PASSWORD="" \
74
- MYSQL_ROOT_PASSWORD_HASHED=false \
65
+ MYSQL_ROOT_PASSWORD_HASHED=" false" \
75
66
MYSQL_SUBNET="127.0.0.1" \
76
67
MYSQL_USER="" \
77
68
MYSQL_USER_DATABASE="" \
78
69
MYSQL_USER_PASSWORD="" \
79
- MYSQL_USER_PASSWORD_HASHED=false \
80
- SSH_AUTOSTART_SSHD=false \
81
- SSH_AUTOSTART_SSHD_BOOTSTRAP=false
70
+ MYSQL_USER_PASSWORD_HASHED="false" \
71
+ SSH_AUTOSTART_SSHD="false" \
72
+ SSH_AUTOSTART_SSHD_BOOTSTRAP="false" \
73
+ SSH_AUTOSTART_SUPERVISOR_STDOUT="false"
82
74
83
- # -----------------------------------------------------------------------------
75
+ # ------------------------------------------------------------------------------
84
76
# Set image metadata
85
- # -----------------------------------------------------------------------------
86
- ARG RELEASE_VERSION="2.1.1"
77
+ # ------------------------------------------------------------------------------
87
78
LABEL \
88
79
maintainer="James Deathe <james.deathe@gmail.com>" \
89
80
install="docker run \
@@ -120,4 +111,4 @@ HEALTHCHECK \
120
111
--retries=10 \
121
112
CMD ["/usr/bin/healthcheck" ]
122
113
123
- CMD ["/usr/bin/supervisord" , "--configuration=/etc/supervisord.conf" ]
114
+ CMD ["/usr/bin/supervisord" , "--configuration=/etc/supervisord.conf" ]
0 commit comments