Skip to content

Commit e5a8fb9

Browse files
authored
Merge pull request laradock#437 from philtrep/fix-mysql-change-env
Added proper creation of mysql user, removal of default homestead user
2 parents ecc4e06 + 4ef5db3 commit e5a8fb9

3 files changed

Lines changed: 29 additions & 7 deletions

File tree

docker-compose.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -112,16 +112,17 @@ services:
112112
### MySQL Container #########################################
113113

114114
mysql:
115-
build: ./mysql
115+
build:
116+
context: ./mysql
117+
args:
118+
- MYSQL_DATABASE=homestead
119+
- MYSQL_USER=homestead
120+
- MYSQL_PASSWORD=secret
121+
- MYSQL_ROOT_PASSWORD=root
116122
volumes:
117123
- mysql:/var/lib/mysql
118124
ports:
119125
- "3306:3306"
120-
environment:
121-
MYSQL_DATABASE: homestead
122-
MYSQL_USER: homestead
123-
MYSQL_PASSWORD: secret
124-
MYSQL_ROOT_PASSWORD: root
125126

126127
### MariaDB Container #######################################
127128

mysql/Dockerfile

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,26 @@ FROM mysql:5.6
22

33
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
44

5+
ADD startup /etc/mysql/startup
6+
7+
RUN chown -R mysql:root /var/lib/mysql/
8+
9+
ARG MYSQL_DATABASE=homestead
10+
ARG MYSQL_USER=homestead
11+
ARG MYSQL_PASSWORD=secret
12+
ARG MYSQL_ROOT_PASSWORD=root
13+
14+
ENV MYSQL_DATABASE=$MYSQL_DATABASE
15+
ENV MYSQL_USER=$MYSQL_USER
16+
ENV MYSQL_PASSWORD=$MYSQL_PASSWORD
17+
ENV MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD
18+
19+
RUN sed -i 's/MYSQL_DATABASE/'$MYSQL_DATABASE'/g' /etc/mysql/startup && \
20+
sed -i 's/MYSQL_USER/'$MYSQL_USER'/g' /etc/mysql/startup && \
21+
sed -i 's/MYSQL_PASSWORD/'$MYSQL_PASSWORD'/g' /etc/mysql/startup
22+
523
ADD my.cnf /etc/mysql/conf.d/my.cnf
624

7-
CMD ["mysqld"]
25+
CMD ["mysqld", "--init-file=/etc/mysql/startup"]
826

927
EXPOSE 3306

mysql/startup

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
DROP USER 'homestead';
2+
CREATE DATABASE IF NOT EXISTS MYSQL_DATABASE;
3+
GRANT ALL ON `MYSQL_DATABASE`.* TO 'MYSQL_USER'@'%' IDENTIFIED BY 'MYSQL_PASSWORD';

0 commit comments

Comments
 (0)