first push
This commit is contained in:
9
mariadb/Dockerfile
Normal file
9
mariadb/Dockerfile
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
FROM centos:7
|
||||||
|
COPY repo /etc/yum.repos.d/MariaDB.repo
|
||||||
|
RUN yum update -y
|
||||||
|
RUN yum install MariaDB-server MariaDB-client -y
|
||||||
|
RUN /bin/rm -R /var/lib/mysql/*
|
||||||
|
COPY docker-entrypoint.sh /
|
||||||
|
RUN chmod +x /docker-entrypoint.sh
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
|
CMD ["mysqld"]
|
||||||
67
mariadb/docker-entrypoint.sh
Normal file
67
mariadb/docker-entrypoint.sh
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
|
if [[ (! -z "${MYSQL_DAEMON_USER}" ) && ( "${MYSQL_DAEMON_USER}" != "root" ) ]]; then
|
||||||
|
useradd -r -s /bin/false $MYSQL_DAEMON_USER
|
||||||
|
if [[ ! -z "${MYSQL_DAEMON_USER_UID}" ]]; then
|
||||||
|
usermod -u $MYSQL_DAEMON_USER_UID $MYSQL_DAEMON_USER
|
||||||
|
fi
|
||||||
|
if [[ ! -z "${MYSQL_DAEMON_USER_GID}" ]]; then
|
||||||
|
groupmod -g $MYSQL_DAEMON_USER_GID $MYSQL_DAEMON_USER
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
DBEXIST=1
|
||||||
|
if [ ! -d "/var/lib/mysql/mysql" ]; then
|
||||||
|
DBEXIST=0
|
||||||
|
echo "Creating system tables"
|
||||||
|
if [[ ! -z "${MYSQL_DAEMON_USER}" ]]; then
|
||||||
|
mysql_install_db --user=$MYSQL_DAEMON_USER
|
||||||
|
else
|
||||||
|
mysql_install_db
|
||||||
|
fi
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "Skipping system tables creation. Chowning Data"
|
||||||
|
if [[ ! -z "${MYSQL_DAEMON_USER}" ]]; then
|
||||||
|
chown -R $(id -u ${MYSQL_DAEMON_USER}):$(id -g ${MYSQL_DAEMON_USER}) /var/lib/mysql
|
||||||
|
else
|
||||||
|
chown -R $(id -u):$(id -g) /var/lib/mysql
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! -z "${MYSQL_DAEMON_USER}" ]]; then
|
||||||
|
runuser -u ${MYSQL_DAEMON_USER} -- $@ --socket=/tmp/mysql.sock --bind-address=0.0.0.0 &
|
||||||
|
else
|
||||||
|
$@ --user=root --socket=/tmp/mysql.sock -bind-address=0.0.0.0 &
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if [[ $DBEXIST -eq 0 ]]; then
|
||||||
|
|
||||||
|
MYSQLSTARTED=0
|
||||||
|
|
||||||
|
while [[ $MYSQLSTARTED -eq 0 ]]
|
||||||
|
do
|
||||||
|
if [[ ! -z "${MYSQL_ROOT_PASSWORD}" ]]; then
|
||||||
|
mysql -u root -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'" --socket=/tmp/mysql.sock
|
||||||
|
else
|
||||||
|
mysql -u root -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'default'" --socket=/tmp/mysql.sock
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
MYSQLSTARTED=1
|
||||||
|
echo "DB Root Password set"
|
||||||
|
else
|
||||||
|
echo "Trying to set DB Root Password"
|
||||||
|
sleep 3
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo "Skipping DB Root Password setting"
|
||||||
|
fi
|
||||||
|
|
||||||
|
wait
|
||||||
|
|
||||||
|
|
||||||
7
mariadb/repo
Normal file
7
mariadb/repo
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# MariaDB 10.4 CentOS repository list - created 2020-06-11 09:49 UTC
|
||||||
|
# http://downloads.mariadb.org/mariadb/repositories/
|
||||||
|
[mariadb]
|
||||||
|
name = MariaDB
|
||||||
|
baseurl = http://yum.mariadb.org/10.4/centos7-amd64
|
||||||
|
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
|
||||||
|
gpgcheck=1
|
||||||
7
mysql-cluster/Dockerfile
Normal file
7
mysql-cluster/Dockerfile
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
FROM centos:7
|
||||||
|
RUN yum install -y \
|
||||||
|
https://dev.mysql.com/get/Downloads/MySQL-Cluster-8.0/mysql-cluster-community-server-minimal-8.0.22-1.el7.x86_64.rpm \
|
||||||
|
&& yum clean all
|
||||||
|
COPY docker-entrypoint.sh /
|
||||||
|
RUN chmod +x /docker-entrypoint.sh
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
125
mysql-cluster/docker-entrypoint.sh
Normal file
125
mysql-cluster/docker-entrypoint.sh
Normal file
@@ -0,0 +1,125 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
|
if [[ (! -z "${MYSQL_DAEMON_USER}" ) && ( "${MYSQL_DAEMON_USER}" != "root" ) ]]; then
|
||||||
|
useradd -r -s /bin/false $MYSQL_DAEMON_USER
|
||||||
|
if [[ ! -z "${MYSQL_DAEMON_USER_UID}" ]]; then
|
||||||
|
usermod -u $MYSQL_DAEMON_USER_UID $MYSQL_DAEMON_USER
|
||||||
|
fi
|
||||||
|
if [[ ! -z "${MYSQL_DAEMON_USER_GID}" ]]; then
|
||||||
|
groupmod -g $MYSQL_DAEMON_USER_GID $MYSQL_DAEMON_USER
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d "/usr/mysql-cluster" ]; then
|
||||||
|
mkdir -p /usr/mysql-cluster
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d "/var/lib/mysql" ]; then
|
||||||
|
mkdir -p /var/lib/mysql
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d "/var/run/mysqld" ]; then
|
||||||
|
mkdir -p /var/run/mysqld
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ( "${MYSQLD_CLUSTER}" = "true" ) ]]; then
|
||||||
|
DBEXIST=1
|
||||||
|
if [ ! -d "/var/lib/mysql/mysql" ]; then
|
||||||
|
DBEXIST=0
|
||||||
|
echo "Creating mysqld system tables"
|
||||||
|
mysqld --initialize-insecure
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Chowning Data"
|
||||||
|
if [[ ! -z "${MYSQL_DAEMON_USER}" ]]; then
|
||||||
|
chown -R $(id -u ${MYSQL_DAEMON_USER}):$(id -g ${MYSQL_DAEMON_USER}) /var/lib/mysql
|
||||||
|
chown -R $(id -u ${MYSQL_DAEMON_USER}):$(id -g ${MYSQL_DAEMON_USER}) /usr/mysql-cluster
|
||||||
|
chown -R $(id -u ${MYSQL_DAEMON_USER}):$(id -g ${MYSQL_DAEMON_USER}) /var/run/mysqld
|
||||||
|
else
|
||||||
|
chown -R $(id -u):$(id -g) /var/lib/mysql
|
||||||
|
chown -R $(id -u):$(id -g) /usr/mysql-cluster
|
||||||
|
chown -R $(id -u):$(id -g) /var/run/mysqld
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if [[ ! -z "${MYSQL_DAEMON_USER}" ]]; then
|
||||||
|
if [[ ( "${MYSQLD_CLUSTER}" = "true" ) ]]; then
|
||||||
|
runuser -u ${MYSQL_DAEMON_USER} -- $@ --socket=/tmp/mysql.sock --bind-address=0.0.0.0 &
|
||||||
|
else
|
||||||
|
runuser -u ${MYSQL_DAEMON_USER} -- $@ &
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [[ ( "${MYSQLD_CLUSTER}" = "true" ) ]]; then
|
||||||
|
sed -i "s/.*user=.*/user=root/" /etc/my.cnf #needed to change the user option otherwise mysqld doesn't start in root mode
|
||||||
|
$@ --user=root --socket=/tmp/mysql.sock -bind-address=0.0.0.0 &
|
||||||
|
else
|
||||||
|
$@ &
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z "${MYSQLD_CLUSTER_NOPASS}" ]]; then
|
||||||
|
MYSQLD_CLUSTER_NOPASS="false"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if [[ ($DBEXIST -eq 0) && ( "${MYSQLD_CLUSTER}" = "true" ) && ( "${MYSQLD_CLUSTER_NOPASS}" = "false" )]]; then
|
||||||
|
|
||||||
|
sleep 10
|
||||||
|
|
||||||
|
echo "Trying to set DB Root Password"
|
||||||
|
MYSQLSTARTED=0
|
||||||
|
FIRSTPHASE=0;
|
||||||
|
SECONDPHASE=0;
|
||||||
|
|
||||||
|
PASSWORD="default"
|
||||||
|
|
||||||
|
if [[ ! -z "${MYSQLD_ROOT_PASSWORD}" ]]; then
|
||||||
|
PASSWORD="${MYSQLD_ROOT_PASSWORD}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! -z "${MYSQLD_ROOT_PASSWORD_FILE}" ]]; then
|
||||||
|
PASSWORD="$(cat ${MYSQLD_ROOT_PASSWORD_FILE})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
while [[ $MYSQLSTARTED -eq 0 ]]
|
||||||
|
do
|
||||||
|
RESULT=""
|
||||||
|
|
||||||
|
mysql -u root -e "CREATE USER 'root'@'%' IDENTIFIED BY '${PASSWORD}';GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';" --socket=/tmp/mysql.sock
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
RESULT=$(mysql --socket=/tmp/mysql.sock -u root -e "SELECT 1 FROM mysql.user WHERE user = 'root' AND host = '%';")
|
||||||
|
if [[ (! -z "${RESULT}") && ( $? -eq 0 ) ]]; then
|
||||||
|
mysql -u root -e "ALTER USER 'root'@'%' IDENTIFIED BY '${PASSWORD}';" --socket=/tmp/mysql.sock
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
FIRSTPHASE=1;
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
FIRSTPHASE=1;
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $FIRSTPHASE -eq 1 ]]; then
|
||||||
|
mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '${PASSWORD}';FLUSH PRIVILEGES;" --socket=/tmp/mysql.sock
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
SECONDPHASE=1;
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if [[ ( $FIRSTPHASE -eq 1 ) && ( $SECONDPHASE -eq 1 )]]; then
|
||||||
|
MYSQLSTARTED=1
|
||||||
|
echo "DB Root Password set"
|
||||||
|
else
|
||||||
|
echo "Retrying to set DB Root Password in 10 sec"
|
||||||
|
sleep 10
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
wait
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
2
php-fpm/Dockerfile
Normal file
2
php-fpm/Dockerfile
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
FROM php:7.4.7-fpm
|
||||||
|
RUN docker-php-ext-install pdo pdo_mysql
|
||||||
7
sshd/Dockerfile
Normal file
7
sshd/Dockerfile
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
FROM ubuntu
|
||||||
|
RUN apt-get update && apt-get install -y openssh-server
|
||||||
|
RUN mkdir /var/run/sshd
|
||||||
|
COPY sshd_config /etc/ssh/sshd_config
|
||||||
|
COPY docker-entrypoint.sh /
|
||||||
|
RUN chmod +x /docker-entrypoint.sh
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
11
sshd/docker-entrypoint.sh
Normal file
11
sshd/docker-entrypoint.sh
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
cleanup() {
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
trap cleanup HUP INT QUIT TERM
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
echo "root:$(cat $ROOT_PASSWORD_FILE)" | chpasswd
|
||||||
|
/usr/sbin/sshd -D
|
||||||
|
#exec "$@"
|
||||||
11
sshd/sshd_config
Normal file
11
sshd/sshd_config
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
PermitRootLogin yes
|
||||||
|
ChallengeResponseAuthentication no
|
||||||
|
UsePAM yes
|
||||||
|
AllowAgentForwarding yes
|
||||||
|
AllowTcpForwarding yes
|
||||||
|
GatewayPorts yes
|
||||||
|
X11Forwarding yes
|
||||||
|
#X11DisplayOffset 10
|
||||||
|
#X11UseLocalhost yes
|
||||||
|
PermitTTY yes
|
||||||
|
PrintMotd no
|
||||||
Reference in New Issue
Block a user