Skip to content

Commit c685212

Browse files
travisaustinTravis Austin
and
Travis Austin
authored
Use numeric user and group in chown (#94)
* Use numeric user and group in chown When building multi-architecture images with buildx, named user identifiers cannot be supplied to --chown if --link is used. This commit changes the `COPY --link --chown=....` lines to use the numeric user id instead of the named user. Instead of calling `COPY --link --chown=octane:octane`, it will call `COPY --link --chown=1000:1000`. This change will allow builds to succeed even when using buildx. See: docker/buildx#1526 docker/docs#20660 docker/buildx#1526 (comment) * Fixed incorrectly named variables in 1 Dockerfile --------- Co-authored-by: Travis Austin <[email protected]>
1 parent 7a1576b commit c685212

6 files changed

+64
-64
lines changed

FrankenPHP.Alpine.Dockerfile

+11-11
Original file line numberDiff line numberDiff line change
@@ -121,8 +121,8 @@ RUN cp ${PHP_INI_DIR}/php.ini-production ${PHP_INI_DIR}/php.ini
121121

122122
USER ${USER}
123123

124-
COPY --link --chown=${USER}:${USER} --from=vendor /usr/bin/composer /usr/bin/composer
125-
COPY --link --chown=${USER}:${USER} composer.json composer.lock ./
124+
COPY --link --chown=${WWWUSER}:${WWWUSER} --from=vendor /usr/bin/composer /usr/bin/composer
125+
COPY --link --chown=${WWWUSER}:${WWWUSER} composer.json composer.lock ./
126126

127127
RUN composer install \
128128
--no-dev \
@@ -132,8 +132,8 @@ RUN composer install \
132132
--no-scripts \
133133
--audit
134134

135-
COPY --link --chown=${USER}:${USER} . .
136-
COPY --link --chown=${USER}:${USER} --from=build ${ROOT}/public public
135+
COPY --link --chown=${WWWUSER}:${WWWUSER} . .
136+
COPY --link --chown=${WWWUSER}:${WWWUSER} --from=build ${ROOT}/public public
137137

138138
RUN mkdir -p \
139139
storage/framework/sessions \
@@ -143,15 +143,15 @@ RUN mkdir -p \
143143
storage/logs \
144144
bootstrap/cache && chmod -R a+rw storage
145145

146-
COPY --link --chown=${USER}:${USER} deployment/supervisord.conf /etc/supervisor/
147-
COPY --link --chown=${USER}:${USER} deployment/octane/FrankenPHP/supervisord.frankenphp.conf /etc/supervisor/conf.d/
148-
COPY --link --chown=${USER}:${USER} deployment/supervisord.*.conf /etc/supervisor/conf.d/
149-
COPY --link --chown=${USER}:${USER} deployment/start-container /usr/local/bin/start-container
150-
COPY --link --chown=${USER}:${USER} deployment/healthcheck /usr/local/bin/healthcheck
151-
COPY --link --chown=${USER}:${USER} deployment/php.ini ${PHP_INI_DIR}/conf.d/99-octane.ini
146+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/supervisord.conf /etc/supervisor/
147+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/octane/FrankenPHP/supervisord.frankenphp.conf /etc/supervisor/conf.d/
148+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/supervisord.*.conf /etc/supervisor/conf.d/
149+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/start-container /usr/local/bin/start-container
150+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/healthcheck /usr/local/bin/healthcheck
151+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/php.ini ${PHP_INI_DIR}/conf.d/99-octane.ini
152152

153153
# FrankenPHP embedded PHP configuration
154-
COPY --link --chown=${USER}:${USER} deployment/php.ini /lib/php.ini
154+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/php.ini /lib/php.ini
155155

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

FrankenPHP.Dockerfile

+11-11
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,8 @@ RUN cp ${PHP_INI_DIR}/php.ini-production ${PHP_INI_DIR}/php.ini
125125

126126
USER ${USER}
127127

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

131131
RUN composer install \
132132
--no-dev \
@@ -136,23 +136,23 @@ RUN composer install \
136136
--no-scripts \
137137
--audit
138138

139-
COPY --link --chown=${USER}:${USER} . .
140-
COPY --link --chown=${USER}:${USER} --from=build ${ROOT}/public public
139+
COPY --link --chown=${WWWUSER}:${WWWUSER} . .
140+
COPY --link --chown=${WWWUSER}:${WWWUSER} --from=build ${ROOT}/public public
141141

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

147-
COPY --link --chown=${USER}:${USER} deployment/supervisord.conf /etc/supervisor/
148-
COPY --link --chown=${USER}:${USER} deployment/octane/FrankenPHP/supervisord.frankenphp.conf /etc/supervisor/conf.d/
149-
COPY --link --chown=${USER}:${USER} deployment/supervisord.*.conf /etc/supervisor/conf.d/
150-
COPY --link --chown=${USER}:${USER} deployment/start-container /usr/local/bin/start-container
151-
COPY --link --chown=${USER}:${USER} deployment/healthcheck /usr/local/bin/healthcheck
152-
COPY --link --chown=${USER}:${USER} deployment/php.ini ${PHP_INI_DIR}/conf.d/99-octane.ini
147+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/supervisord.conf /etc/supervisor/
148+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/octane/FrankenPHP/supervisord.frankenphp.conf /etc/supervisor/conf.d/
149+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/supervisord.*.conf /etc/supervisor/conf.d/
150+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/start-container /usr/local/bin/start-container
151+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/healthcheck /usr/local/bin/healthcheck
152+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/php.ini ${PHP_INI_DIR}/conf.d/99-octane.ini
153153

154154
# FrankenPHP embedded PHP configuration
155-
COPY --link --chown=${USER}:${USER} deployment/php.ini /lib/php.ini
155+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/php.ini /lib/php.ini
156156

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

RoadRunner.Alpine.Dockerfile

+11-11
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,8 @@ RUN cp ${PHP_INI_DIR}/php.ini-production ${PHP_INI_DIR}/php.ini
117117

118118
USER ${USER}
119119

120-
COPY --link --chown=${USER}:${USER} --from=vendor /usr/bin/composer /usr/bin/composer
121-
COPY --link --chown=${USER}:${USER} composer.json composer.lock ./
120+
COPY --link --chown=${WWWUSER}:${WWWUSER} --from=vendor /usr/bin/composer /usr/bin/composer
121+
COPY --link --chown=${WWWUSER}:${WWWUSER} composer.json composer.lock ./
122122

123123
RUN composer install \
124124
--no-dev \
@@ -128,8 +128,8 @@ RUN composer install \
128128
--no-scripts \
129129
--audit
130130

131-
COPY --link --chown=${USER}:${USER} . .
132-
COPY --link --chown=${USER}:${USER} --from=build ${ROOT}/public public
131+
COPY --link --chown=${WWWUSER}:${WWWUSER} . .
132+
COPY --link --chown=${WWWUSER}:${WWWUSER} --from=build ${ROOT}/public public
133133

134134
RUN mkdir -p \
135135
storage/framework/sessions \
@@ -139,13 +139,13 @@ RUN mkdir -p \
139139
storage/logs \
140140
bootstrap/cache && chmod -R a+rw storage
141141

142-
COPY --link --chown=${USER}:${USER} deployment/supervisord.conf /etc/supervisor/
143-
COPY --link --chown=${USER}:${USER} deployment/octane/RoadRunner/supervisord.roadrunner.conf /etc/supervisor/conf.d/
144-
COPY --link --chown=${USER}:${USER} deployment/supervisord.*.conf /etc/supervisor/conf.d/
145-
COPY --link --chown=${USER}:${USER} deployment/php.ini ${PHP_INI_DIR}/conf.d/99-octane.ini
146-
COPY --link --chown=${USER}:${USER} deployment/octane/RoadRunner/.rr.prod.yaml ./.rr.yaml
147-
COPY --link --chown=${USER}:${USER} deployment/start-container /usr/local/bin/start-container
148-
COPY --link --chown=${USER}:${USER} deployment/healthcheck /usr/local/bin/healthcheck
142+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/supervisord.conf /etc/supervisor/
143+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/octane/RoadRunner/supervisord.roadrunner.conf /etc/supervisor/conf.d/
144+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/supervisord.*.conf /etc/supervisor/conf.d/
145+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/php.ini ${PHP_INI_DIR}/conf.d/99-octane.ini
146+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/octane/RoadRunner/.rr.prod.yaml ./.rr.yaml
147+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/start-container /usr/local/bin/start-container
148+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/healthcheck /usr/local/bin/healthcheck
149149

150150
RUN composer install \
151151
--classmap-authoritative \

RoadRunner.Dockerfile

+11-11
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,8 @@ RUN cp ${PHP_INI_DIR}/php.ini-production ${PHP_INI_DIR}/php.ini
122122

123123
USER ${USER}
124124

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

128128
RUN composer install \
129129
--no-dev \
@@ -133,21 +133,21 @@ RUN composer install \
133133
--no-scripts \
134134
--audit
135135

136-
COPY --link --chown=${USER}:${USER} . .
137-
COPY --link --chown=${USER}:${USER} --from=build ${ROOT}/public public
136+
COPY --link --chown=${WWWUSER}:${WWWUSER} . .
137+
COPY --link --chown=${WWWUSER}:${WWWUSER} --from=build ${ROOT}/public public
138138

139139
RUN mkdir -p \
140140
storage/framework/{sessions,views,cache,testing} \
141141
storage/logs \
142142
bootstrap/cache && chmod -R a+rw storage
143143

144-
COPY --link --chown=${USER}:${USER} deployment/supervisord.conf /etc/supervisor/
145-
COPY --link --chown=${USER}:${USER} deployment/octane/RoadRunner/supervisord.roadrunner.conf /etc/supervisor/conf.d
146-
COPY --link --chown=${USER}:${USER} deployment/supervisord.*.conf /etc/supervisor/conf.d/
147-
COPY --link --chown=${USER}:${USER} deployment/php.ini ${PHP_INI_DIR}/conf.d/99-octane.ini
148-
COPY --link --chown=${USER}:${USER} deployment/octane/RoadRunner/.rr.prod.yaml ./.rr.yaml
149-
COPY --link --chown=${USER}:${USER} deployment/start-container /usr/local/bin/start-container
150-
COPY --link --chown=${USER}:${USER} deployment/healthcheck /usr/local/bin/healthcheck
144+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/supervisord.conf /etc/supervisor/
145+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/octane/RoadRunner/supervisord.roadrunner.conf /etc/supervisor/conf.d
146+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/supervisord.*.conf /etc/supervisor/conf.d/
147+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/php.ini ${PHP_INI_DIR}/conf.d/99-octane.ini
148+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/octane/RoadRunner/.rr.prod.yaml ./.rr.yaml
149+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/start-container /usr/local/bin/start-container
150+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/healthcheck /usr/local/bin/healthcheck
151151

152152
RUN composer install \
153153
--classmap-authoritative \

Swoole.Alpine.Dockerfile

+10-10
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,8 @@ RUN cp ${PHP_INI_DIR}/php.ini-production ${PHP_INI_DIR}/php.ini
118118

119119
USER ${USER}
120120

121-
COPY --link --chown=${USER}:${USER} --from=vendor /usr/bin/composer /usr/bin/composer
122-
COPY --link --chown=${USER}:${USER} composer.json composer.lock ./
121+
COPY --link --chown=${WWWUSER}:${WWWUSER} --from=vendor /usr/bin/composer /usr/bin/composer
122+
COPY --link --chown=${WWWUSER}:${WWWUSER} composer.json composer.lock ./
123123

124124
RUN composer install \
125125
--no-dev \
@@ -129,8 +129,8 @@ RUN composer install \
129129
--no-scripts \
130130
--audit
131131

132-
COPY --link --chown=${USER}:${USER} . .
133-
COPY --link --chown=${USER}:${USER} --from=build ${ROOT}/public public
132+
COPY --link --chown=${WWWUSER}:${WWWUSER} . .
133+
COPY --link --chown=${WWWUSER}:${WWWUSER} --from=build ${ROOT}/public public
134134

135135
RUN mkdir -p \
136136
storage/framework/sessions \
@@ -140,12 +140,12 @@ RUN mkdir -p \
140140
storage/logs \
141141
bootstrap/cache && chmod -R a+rw storage
142142

143-
COPY --link --chown=${USER}:${USER} deployment/supervisord.conf /etc/supervisor/
144-
COPY --link --chown=${USER}:${USER} deployment/octane/Swoole/supervisord.swoole.conf /etc/supervisor/conf.d/
145-
COPY --link --chown=${USER}:${USER} deployment/supervisord.*.conf /etc/supervisor/conf.d/
146-
COPY --link --chown=${USER}:${USER} deployment/php.ini ${PHP_INI_DIR}/conf.d/99-octane.ini
147-
COPY --link --chown=${USER}:${USER} deployment/start-container /usr/local/bin/start-container
148-
COPY --link --chown=${USER}:${USER} deployment/healthcheck /usr/local/bin/healthcheck
143+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/supervisord.conf /etc/supervisor/
144+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/octane/Swoole/supervisord.swoole.conf /etc/supervisor/conf.d/
145+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/supervisord.*.conf /etc/supervisor/conf.d/
146+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/php.ini ${PHP_INI_DIR}/conf.d/99-octane.ini
147+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/start-container /usr/local/bin/start-container
148+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/healthcheck /usr/local/bin/healthcheck
149149

150150
RUN composer install \
151151
--classmap-authoritative \

Swoole.Dockerfile

+10-10
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,8 @@ RUN cp ${PHP_INI_DIR}/php.ini-production ${PHP_INI_DIR}/php.ini
123123

124124
USER ${USER}
125125

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

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

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

140140
RUN mkdir -p \
141141
storage/framework/{sessions,views,cache,testing} \
142142
storage/logs \
143143
bootstrap/cache && chmod -R a+rw storage
144144

145-
COPY --link --chown=${USER}:${USER} deployment/supervisord.conf /etc/supervisor/
146-
COPY --link --chown=${USER}:${USER} deployment/octane/Swoole/supervisord.swoole.conf /etc/supervisor/conf.d/
147-
COPY --link --chown=${USER}:${USER} deployment/supervisord.*.conf /etc/supervisor/conf.d/
148-
COPY --link --chown=${USER}:${USER} deployment/php.ini ${PHP_INI_DIR}/conf.d/99-octane.ini
149-
COPY --link --chown=${USER}:${USER} deployment/start-container /usr/local/bin/start-container
150-
COPY --link --chown=${USER}:${USER} deployment/healthcheck /usr/local/bin/healthcheck
145+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/supervisord.conf /etc/supervisor/
146+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/octane/Swoole/supervisord.swoole.conf /etc/supervisor/conf.d/
147+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/supervisord.*.conf /etc/supervisor/conf.d/
148+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/php.ini ${PHP_INI_DIR}/conf.d/99-octane.ini
149+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/start-container /usr/local/bin/start-container
150+
COPY --link --chown=${WWWUSER}:${WWWUSER} deployment/healthcheck /usr/local/bin/healthcheck
151151

152152
RUN composer install \
153153
--classmap-authoritative \

0 commit comments

Comments
 (0)