Skip to content

Commit 54233b2

Browse files
authored
Use --link flag with COPY directive (#81)
1 parent d06ae41 commit 54233b2

6 files changed

+70
-70
lines changed

FrankenPHP.Alpine.Dockerfile

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ WORKDIR ${ROOT}
1919

2020
RUN npm config set update-notifier false && npm set progress=false
2121

22-
COPY package*.json ./
22+
COPY --link package*.json ./
2323

2424
RUN if [ -f $ROOT/package-lock.json ]; \
2525
then \
@@ -28,7 +28,7 @@ RUN if [ -f $ROOT/package-lock.json ]; \
2828
npm install --loglevel=error --no-audit; \
2929
fi
3030

31-
COPY . .
31+
COPY --link . .
3232

3333
RUN npm run build
3434

@@ -127,8 +127,8 @@ RUN cp ${PHP_INI_DIR}/php.ini-production ${PHP_INI_DIR}/php.ini
127127

128128
USER ${USER}
129129

130-
COPY --chown=${USER}:${USER} --from=vendor /usr/bin/composer /usr/bin/composer
131-
COPY --chown=${USER}:${USER} composer.json composer.lock ./
130+
COPY --link --chown=${USER}:${USER} --from=vendor /usr/bin/composer /usr/bin/composer
131+
COPY --link --chown=${USER}:${USER} composer.json composer.lock ./
132132

133133
RUN composer install \
134134
--no-dev \
@@ -138,8 +138,8 @@ RUN composer install \
138138
--no-scripts \
139139
--audit
140140

141-
COPY --chown=${USER}:${USER} . .
142-
COPY --chown=${USER}:${USER} --from=build ${ROOT}/public public
141+
COPY --link --chown=${USER}:${USER} . .
142+
COPY --link --chown=${USER}:${USER} --from=build ${ROOT}/public public
143143

144144
RUN mkdir -p \
145145
storage/framework/sessions \
@@ -149,14 +149,14 @@ RUN mkdir -p \
149149
storage/logs \
150150
bootstrap/cache && chmod -R a+rw storage
151151

152-
COPY --chown=${USER}:${USER} deployment/supervisord.conf /etc/supervisor/
153-
COPY --chown=${USER}:${USER} deployment/octane/FrankenPHP/supervisord.frankenphp.conf /etc/supervisor/conf.d/
154-
COPY --chown=${USER}:${USER} deployment/supervisord.*.conf /etc/supervisor/conf.d/
155-
COPY --chown=${USER}:${USER} deployment/start-container /usr/local/bin/start-container
156-
COPY --chown=${USER}:${USER} deployment/php.ini ${PHP_INI_DIR}/conf.d/99-octane.ini
152+
COPY --link --chown=${USER}:${USER} deployment/supervisord.conf /etc/supervisor/
153+
COPY --link --chown=${USER}:${USER} deployment/octane/FrankenPHP/supervisord.frankenphp.conf /etc/supervisor/conf.d/
154+
COPY --link --chown=${USER}:${USER} deployment/supervisord.*.conf /etc/supervisor/conf.d/
155+
COPY --link --chown=${USER}:${USER} deployment/start-container /usr/local/bin/start-container
156+
COPY --link --chown=${USER}:${USER} deployment/php.ini ${PHP_INI_DIR}/conf.d/99-octane.ini
157157

158158
# FrankenPHP embedded PHP configuration
159-
COPY --chown=${USER}:${USER} deployment/php.ini /lib/php.ini
159+
COPY --link --chown=${USER}:${USER} deployment/php.ini /lib/php.ini
160160

161161
RUN composer install \
162162
--classmap-authoritative \

FrankenPHP.Dockerfile

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ WORKDIR ${ROOT}
1919

2020
RUN npm config set update-notifier false && npm set progress=false
2121

22-
COPY package*.json ./
22+
COPY --link package*.json ./
2323

2424
RUN if [ -f $ROOT/package-lock.json ]; \
2525
then \
@@ -28,7 +28,7 @@ RUN if [ -f $ROOT/package-lock.json ]; \
2828
npm install --loglevel=error --no-audit; \
2929
fi
3030

31-
COPY . .
31+
COPY --link . .
3232

3333
RUN npm run build
3434

@@ -131,8 +131,8 @@ RUN cp ${PHP_INI_DIR}/php.ini-production ${PHP_INI_DIR}/php.ini
131131

132132
USER ${USER}
133133

134-
COPY --chown=${USER}:${USER} --from=vendor /usr/bin/composer /usr/bin/composer
135-
COPY --chown=${USER}:${USER} composer.json composer.lock ./
134+
COPY --link --chown=${USER}:${USER} --from=vendor /usr/bin/composer /usr/bin/composer
135+
COPY --link --chown=${USER}:${USER} composer.json composer.lock ./
136136

137137
RUN composer install \
138138
--no-dev \
@@ -142,22 +142,22 @@ RUN composer install \
142142
--no-scripts \
143143
--audit
144144

145-
COPY --chown=${USER}:${USER} . .
146-
COPY --chown=${USER}:${USER} --from=build ${ROOT}/public public
145+
COPY --link --chown=${USER}:${USER} . .
146+
COPY --link --chown=${USER}:${USER} --from=build ${ROOT}/public public
147147

148148
RUN mkdir -p \
149149
storage/framework/{sessions,views,cache,testing} \
150150
storage/logs \
151151
bootstrap/cache && chmod -R a+rw storage
152152

153-
COPY --chown=${USER}:${USER} deployment/supervisord.conf /etc/supervisor/
154-
COPY --chown=${USER}:${USER} deployment/octane/FrankenPHP/supervisord.frankenphp.conf /etc/supervisor/conf.d/
155-
COPY --chown=${USER}:${USER} deployment/supervisord.*.conf /etc/supervisor/conf.d/
156-
COPY --chown=${USER}:${USER} deployment/start-container /usr/local/bin/start-container
157-
COPY --chown=${USER}:${USER} deployment/php.ini ${PHP_INI_DIR}/conf.d/99-octane.ini
153+
COPY --link --chown=${USER}:${USER} deployment/supervisord.conf /etc/supervisor/
154+
COPY --link --chown=${USER}:${USER} deployment/octane/FrankenPHP/supervisord.frankenphp.conf /etc/supervisor/conf.d/
155+
COPY --link --chown=${USER}:${USER} deployment/supervisord.*.conf /etc/supervisor/conf.d/
156+
COPY --link --chown=${USER}:${USER} deployment/start-container /usr/local/bin/start-container
157+
COPY --link --chown=${USER}:${USER} deployment/php.ini ${PHP_INI_DIR}/conf.d/99-octane.ini
158158

159159
# FrankenPHP embedded PHP configuration
160-
COPY --chown=${USER}:${USER} deployment/php.ini /lib/php.ini
160+
COPY --link --chown=${USER}:${USER} deployment/php.ini /lib/php.ini
161161

162162
RUN composer install \
163163
--classmap-authoritative \

RoadRunner.Alpine.Dockerfile

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ WORKDIR ${ROOT}
1717

1818
RUN npm config set update-notifier false && npm set progress=false
1919

20-
COPY package*.json ./
20+
COPY --link package*.json ./
2121

2222
RUN if [ -f $ROOT/package-lock.json ]; \
2323
then \
@@ -26,7 +26,7 @@ RUN if [ -f $ROOT/package-lock.json ]; \
2626
npm install --loglevel=error --no-audit; \
2727
fi
2828

29-
COPY . .
29+
COPY --link . .
3030

3131
RUN npm run build
3232

@@ -123,8 +123,8 @@ RUN cp ${PHP_INI_DIR}/php.ini-production ${PHP_INI_DIR}/php.ini
123123

124124
USER ${USER}
125125

126-
COPY --chown=${USER}:${USER} --from=vendor /usr/bin/composer /usr/bin/composer
127-
COPY --chown=${USER}:${USER} composer.json composer.lock ./
126+
COPY --link --chown=${USER}:${USER} --from=vendor /usr/bin/composer /usr/bin/composer
127+
COPY --link --chown=${USER}:${USER} composer.json composer.lock ./
128128

129129
RUN composer install \
130130
--no-dev \
@@ -134,8 +134,8 @@ RUN composer install \
134134
--no-scripts \
135135
--audit
136136

137-
COPY --chown=${USER}:${USER} . .
138-
COPY --chown=${USER}:${USER} --from=build ${ROOT}/public public
137+
COPY --link --chown=${USER}:${USER} . .
138+
COPY --link --chown=${USER}:${USER} --from=build ${ROOT}/public public
139139

140140
RUN mkdir -p \
141141
storage/framework/sessions \
@@ -145,12 +145,12 @@ RUN mkdir -p \
145145
storage/logs \
146146
bootstrap/cache && chmod -R a+rw storage
147147

148-
COPY --chown=${USER}:${USER} deployment/supervisord.conf /etc/supervisor/
149-
COPY --chown=${USER}:${USER} deployment/octane/RoadRunner/supervisord.roadrunner.conf /etc/supervisor/conf.d/
150-
COPY --chown=${USER}:${USER} deployment/supervisord.*.conf /etc/supervisor/conf.d/
151-
COPY --chown=${USER}:${USER} deployment/php.ini ${PHP_INI_DIR}/conf.d/99-octane.ini
152-
COPY --chown=${USER}:${USER} deployment/octane/RoadRunner/.rr.prod.yaml ./.rr.yaml
153-
COPY --chown=${USER}:${USER} deployment/start-container /usr/local/bin/start-container
148+
COPY --link --chown=${USER}:${USER} deployment/supervisord.conf /etc/supervisor/
149+
COPY --link --chown=${USER}:${USER} deployment/octane/RoadRunner/supervisord.roadrunner.conf /etc/supervisor/conf.d/
150+
COPY --link --chown=${USER}:${USER} deployment/supervisord.*.conf /etc/supervisor/conf.d/
151+
COPY --link --chown=${USER}:${USER} deployment/php.ini ${PHP_INI_DIR}/conf.d/99-octane.ini
152+
COPY --link --chown=${USER}:${USER} deployment/octane/RoadRunner/.rr.prod.yaml ./.rr.yaml
153+
COPY --link --chown=${USER}:${USER} deployment/start-container /usr/local/bin/start-container
154154

155155
RUN composer install \
156156
--classmap-authoritative \

RoadRunner.Dockerfile

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ WORKDIR ${ROOT}
1717

1818
RUN npm config set update-notifier false && npm set progress=false
1919

20-
COPY package*.json ./
20+
COPY --link package*.json ./
2121

2222
RUN if [ -f $ROOT/package-lock.json ]; \
2323
then \
@@ -26,7 +26,7 @@ RUN if [ -f $ROOT/package-lock.json ]; \
2626
npm install --loglevel=error --no-audit; \
2727
fi
2828

29-
COPY . .
29+
COPY --link . .
3030

3131
RUN npm run build
3232

@@ -128,8 +128,8 @@ RUN cp ${PHP_INI_DIR}/php.ini-production ${PHP_INI_DIR}/php.ini
128128

129129
USER ${USER}
130130

131-
COPY --chown=${USER}:${USER} --from=vendor /usr/bin/composer /usr/bin/composer
132-
COPY --chown=${USER}:${USER} composer.json composer.lock ./
131+
COPY --link --chown=${USER}:${USER} --from=vendor /usr/bin/composer /usr/bin/composer
132+
COPY --link --chown=${USER}:${USER} composer.json composer.lock ./
133133

134134
RUN composer install \
135135
--no-dev \
@@ -139,20 +139,20 @@ RUN composer install \
139139
--no-scripts \
140140
--audit
141141

142-
COPY --chown=${USER}:${USER} . .
143-
COPY --chown=${USER}:${USER} --from=build ${ROOT}/public public
142+
COPY --link --chown=${USER}:${USER} . .
143+
COPY --link --chown=${USER}:${USER} --from=build ${ROOT}/public public
144144

145145
RUN mkdir -p \
146146
storage/framework/{sessions,views,cache,testing} \
147147
storage/logs \
148148
bootstrap/cache && chmod -R a+rw storage
149149

150-
COPY --chown=${USER}:${USER} deployment/supervisord.conf /etc/supervisor/
151-
COPY --chown=${USER}:${USER} deployment/octane/RoadRunner/supervisord.roadrunner.conf /etc/supervisor/conf.d
152-
COPY --chown=${USER}:${USER} deployment/supervisord.*.conf /etc/supervisor/conf.d/
153-
COPY --chown=${USER}:${USER} deployment/php.ini ${PHP_INI_DIR}/conf.d/99-octane.ini
154-
COPY --chown=${USER}:${USER} deployment/octane/RoadRunner/.rr.prod.yaml ./.rr.yaml
155-
COPY --chown=${USER}:${USER} deployment/start-container /usr/local/bin/start-container
150+
COPY --link --chown=${USER}:${USER} deployment/supervisord.conf /etc/supervisor/
151+
COPY --link --chown=${USER}:${USER} deployment/octane/RoadRunner/supervisord.roadrunner.conf /etc/supervisor/conf.d
152+
COPY --link --chown=${USER}:${USER} deployment/supervisord.*.conf /etc/supervisor/conf.d/
153+
COPY --link --chown=${USER}:${USER} deployment/php.ini ${PHP_INI_DIR}/conf.d/99-octane.ini
154+
COPY --link --chown=${USER}:${USER} deployment/octane/RoadRunner/.rr.prod.yaml ./.rr.yaml
155+
COPY --link --chown=${USER}:${USER} deployment/start-container /usr/local/bin/start-container
156156

157157
RUN composer install \
158158
--classmap-authoritative \

Swoole.Alpine.Dockerfile

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ WORKDIR ${ROOT}
1717

1818
RUN npm config set update-notifier false && npm set progress=false
1919

20-
COPY package*.json ./
20+
COPY --link package*.json ./
2121

2222
RUN if [ -f $ROOT/package-lock.json ]; \
2323
then \
@@ -26,7 +26,7 @@ RUN if [ -f $ROOT/package-lock.json ]; \
2626
npm install --loglevel=error --no-audit; \
2727
fi
2828

29-
COPY . .
29+
COPY --link . .
3030

3131
RUN npm run build
3232

@@ -124,8 +124,8 @@ RUN cp ${PHP_INI_DIR}/php.ini-production ${PHP_INI_DIR}/php.ini
124124

125125
USER ${USER}
126126

127-
COPY --chown=${USER}:${USER} --from=vendor /usr/bin/composer /usr/bin/composer
128-
COPY --chown=${USER}:${USER} composer.json composer.lock ./
127+
COPY --link --chown=${USER}:${USER} --from=vendor /usr/bin/composer /usr/bin/composer
128+
COPY --link --chown=${USER}:${USER} composer.json composer.lock ./
129129

130130
RUN composer install \
131131
--no-dev \
@@ -135,8 +135,8 @@ RUN composer install \
135135
--no-scripts \
136136
--audit
137137

138-
COPY --chown=${USER}:${USER} . .
139-
COPY --chown=${USER}:${USER} --from=build ${ROOT}/public public
138+
COPY --link --chown=${USER}:${USER} . .
139+
COPY --link --chown=${USER}:${USER} --from=build ${ROOT}/public public
140140

141141
RUN mkdir -p \
142142
storage/framework/sessions \
@@ -146,11 +146,11 @@ RUN mkdir -p \
146146
storage/logs \
147147
bootstrap/cache && chmod -R a+rw storage
148148

149-
COPY --chown=${USER}:${USER} deployment/supervisord.conf /etc/supervisor/
150-
COPY --chown=${USER}:${USER} deployment/octane/Swoole/supervisord.swoole.conf /etc/supervisor/conf.d/
151-
COPY --chown=${USER}:${USER} deployment/supervisord.*.conf /etc/supervisor/conf.d/
152-
COPY --chown=${USER}:${USER} deployment/php.ini ${PHP_INI_DIR}/conf.d/99-octane.ini
153-
COPY --chown=${USER}:${USER} deployment/start-container /usr/local/bin/start-container
149+
COPY --link --chown=${USER}:${USER} deployment/supervisord.conf /etc/supervisor/
150+
COPY --link --chown=${USER}:${USER} deployment/octane/Swoole/supervisord.swoole.conf /etc/supervisor/conf.d/
151+
COPY --link --chown=${USER}:${USER} deployment/supervisord.*.conf /etc/supervisor/conf.d/
152+
COPY --link --chown=${USER}:${USER} deployment/php.ini ${PHP_INI_DIR}/conf.d/99-octane.ini
153+
COPY --link --chown=${USER}:${USER} deployment/start-container /usr/local/bin/start-container
154154

155155
RUN composer install \
156156
--classmap-authoritative \

Swoole.Dockerfile

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ WORKDIR ${ROOT}
1717

1818
RUN npm config set update-notifier false && npm set progress=false
1919

20-
COPY package*.json ./
20+
COPY --link package*.json ./
2121

2222
RUN if [ -f $ROOT/package-lock.json ]; \
2323
then \
@@ -26,7 +26,7 @@ RUN if [ -f $ROOT/package-lock.json ]; \
2626
npm install --loglevel=error --no-audit; \
2727
fi
2828

29-
COPY . .
29+
COPY --link . .
3030

3131
RUN npm run build
3232

@@ -129,8 +129,8 @@ RUN cp ${PHP_INI_DIR}/php.ini-production ${PHP_INI_DIR}/php.ini
129129

130130
USER ${USER}
131131

132-
COPY --chown=${USER}:${USER} --from=vendor /usr/bin/composer /usr/bin/composer
133-
COPY --chown=${USER}:${USER} composer.json composer.lock ./
132+
COPY --link --chown=${USER}:${USER} --from=vendor /usr/bin/composer /usr/bin/composer
133+
COPY --link --chown=${USER}:${USER} composer.json composer.lock ./
134134

135135
RUN composer install \
136136
--no-dev \
@@ -140,19 +140,19 @@ RUN composer install \
140140
--no-scripts \
141141
--audit
142142

143-
COPY --chown=${USER}:${USER} . .
144-
COPY --chown=${USER}:${USER} --from=build ${ROOT}/public public
143+
COPY --link --chown=${USER}:${USER} . .
144+
COPY --link --chown=${USER}:${USER} --from=build ${ROOT}/public public
145145

146146
RUN mkdir -p \
147147
storage/framework/{sessions,views,cache,testing} \
148148
storage/logs \
149149
bootstrap/cache && chmod -R a+rw storage
150150

151-
COPY --chown=${USER}:${USER} deployment/supervisord.conf /etc/supervisor/
152-
COPY --chown=${USER}:${USER} deployment/octane/Swoole/supervisord.swoole.conf /etc/supervisor/conf.d/
153-
COPY --chown=${USER}:${USER} deployment/supervisord.*.conf /etc/supervisor/conf.d/
154-
COPY --chown=${USER}:${USER} deployment/php.ini ${PHP_INI_DIR}/conf.d/99-octane.ini
155-
COPY --chown=${USER}:${USER} deployment/start-container /usr/local/bin/start-container
151+
COPY --link --chown=${USER}:${USER} deployment/supervisord.conf /etc/supervisor/
152+
COPY --link --chown=${USER}:${USER} deployment/octane/Swoole/supervisord.swoole.conf /etc/supervisor/conf.d/
153+
COPY --link --chown=${USER}:${USER} deployment/supervisord.*.conf /etc/supervisor/conf.d/
154+
COPY --link --chown=${USER}:${USER} deployment/php.ini ${PHP_INI_DIR}/conf.d/99-octane.ini
155+
COPY --link --chown=${USER}:${USER} deployment/start-container /usr/local/bin/start-container
156156

157157
RUN composer install \
158158
--classmap-authoritative \

0 commit comments

Comments
 (0)