as@as.as commited on
Commit
dce0923
·
1 Parent(s): b556d7b
Files changed (2) hide show
  1. Dockerfile +58 -1
  2. start.sh +10 -0
Dockerfile CHANGED
@@ -2,7 +2,7 @@ FROM ubuntu:24.04
2
 
3
  RUN apt-get update -y
4
  RUN apt-get upgrade -y
5
- RUN apt-get install -y apache2 curl unzip wget xz-utils net-tools procps
6
 
7
  RUN apt-get install -y \
8
  php8.3 \
@@ -92,9 +92,64 @@ RUN mv composer.phar /usr/local/bin/composer
92
  #RUN cp -r /node-v20.17.0-linux-x64/bin /node-v20.17.0-linux-x64/include /node-v20.17.0-linux-x64/lib /node-v20.17.0-linux-x64/share /usr/
93
 
94
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
95
  # Cập nhật và cài đặt MySQL
96
  RUN apt-get update && \
97
  DEBIAN_FRONTEND=noninteractive apt-get install -y mysql-server
 
 
 
 
 
98
 
99
  # Sao chép file cấu hình MySQL
100
  COPY mysql.cnf /etc/mysql/my.cnf
@@ -130,6 +185,8 @@ RUN mkdir /docker-entrypoint-initdb.d
130
 
131
  ADD docker-entrypoint.sh /docker-entrypoint.sh
132
 
 
 
133
  ADD docker-entrypoint.sh /usr/local/bin/
134
 
135
  RUN chmod +x /usr/local/bin/docker-entrypoint.sh
 
2
 
3
  RUN apt-get update -y
4
  RUN apt-get upgrade -y
5
+ RUN apt-get install -y apache2 curl unzip wget xz-utils net-tools procps gnupg
6
 
7
  RUN apt-get install -y \
8
  php8.3 \
 
92
  #RUN cp -r /node-v20.17.0-linux-x64/bin /node-v20.17.0-linux-x64/include /node-v20.17.0-linux-x64/lib /node-v20.17.0-linux-x64/share /usr/
93
 
94
 
95
+ ENV GOSU_VERSION 1.17
96
+ RUN set -eux; \
97
+ savedAptMark="$(apt-mark showmanual)"; \
98
+ apt-get update; \
99
+ apt-get install -y --no-install-recommends ca-certificates wget; \
100
+ rm -rf /var/lib/apt/lists/*; \
101
+ dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
102
+ wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; \
103
+ wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; \
104
+ export GNUPGHOME="$(mktemp -d)"; \
105
+ gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \
106
+ gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \
107
+ gpgconf --kill all; \
108
+ rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; \
109
+ apt-mark auto '.*' > /dev/null; \
110
+ [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; \
111
+ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
112
+ chmod +x /usr/local/bin/gosu; \
113
+ gosu --version; \
114
+ gosu nobody true
115
+
116
+ RUN set -eux; \
117
+ apt-get update; \
118
+ apt-get install -y --no-install-recommends \
119
+ bzip2 \
120
+ openssl \
121
+ # FATAL ERROR: please install the following Perl modules before executing /usr/local/mysql/scripts/mysql_install_db:
122
+ # File::Basename
123
+ # File::Copy
124
+ # Sys::Hostname
125
+ # Data::Dumper
126
+ perl \
127
+ xz-utils \
128
+ zstd \
129
+ ; \
130
+ rm -rf /var/lib/apt/lists/*
131
+
132
+ RUN set -eux; \
133
+ # pub rsa4096 2023-10-23 [SC] [expires: 2025-10-22]
134
+ # BCA4 3417 C3B4 85DD 128E C6D4 B7B3 B788 A8D3 785C
135
+ # uid [ unknown] MySQL Release Engineering <mysql-build@oss.oracle.com>
136
+ # sub rsa4096 2023-10-23 [E] [expires: 2025-10-22]
137
+ key='BCA4 3417 C3B4 85DD 128E C6D4 B7B3 B788 A8D3 785C'; \
138
+ export GNUPGHOME="$(mktemp -d)"; \
139
+ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
140
+ mkdir -p /etc/apt/keyrings; \
141
+ gpg --batch --export "$key" > /etc/apt/keyrings/mysql.gpg; \
142
+ gpgconf --kill all; \
143
+ rm -rf "$GNUPGHOME"
144
+
145
  # Cập nhật và cài đặt MySQL
146
  RUN apt-get update && \
147
  DEBIAN_FRONTEND=noninteractive apt-get install -y mysql-server
148
+
149
+ RUN rm -rf /var/lib/mysql && mkdir -p /var/lib/mysql /var/run/mysqld \
150
+ && chmod 1777 /var/run/mysqld /var/lib/mysql
151
+
152
+ VOLUME /var/lib/mysql
153
 
154
  # Sao chép file cấu hình MySQL
155
  COPY mysql.cnf /etc/mysql/my.cnf
 
185
 
186
  ADD docker-entrypoint.sh /docker-entrypoint.sh
187
 
188
+ ADD firecomic_db.sql /docker-entrypoint-initdb.d/
189
+
190
  ADD docker-entrypoint.sh /usr/local/bin/
191
 
192
  RUN chmod +x /usr/local/bin/docker-entrypoint.sh
start.sh CHANGED
@@ -2,11 +2,21 @@
2
 
3
  echo "Current user: $(whoami) (UID: $(id -u))"
4
 
 
5
  cp -r /public /var/www/html/
6
 
7
  echo "Starting mysqld..."
8
  /usr/local/bin/docker-entrypoint.sh mysqld &
9
 
 
 
 
 
 
 
 
 
 
10
  echo "Starting fpm8..."
11
  php-fpm8.3 -F &
12
  #php-fpm8.3 -t
 
2
 
3
  echo "Current user: $(whoami) (UID: $(id -u))"
4
 
5
+
6
  cp -r /public /var/www/html/
7
 
8
  echo "Starting mysqld..."
9
  /usr/local/bin/docker-entrypoint.sh mysqld &
10
 
11
+
12
+ until mysqladmin ping -h"localhost" -uroot -psa --silent; do
13
+ echo "connect..."
14
+ sleep 2
15
+ done
16
+
17
+ mysql -uroot -psa firecomic_db < /docker-entrypoint-initdb.d/firecomic_db.sql
18
+
19
+
20
  echo "Starting fpm8..."
21
  php-fpm8.3 -F &
22
  #php-fpm8.3 -t