Wrote non-root Dockerfile
							parent
							
								
									12c1a2d206
								
							
						
					
					
						commit
						a60fa5d86f
					
				| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||
# Ignore everything
 | 
			
		||||
*
 | 
			
		||||
 | 
			
		||||
# The stuff necessary to build the image
 | 
			
		||||
!app/
 | 
			
		||||
!setup.cfg
 | 
			
		||||
!setup.py
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,34 @@
 | 
			
		|||
FROM python:3.9 AS builder
 | 
			
		||||
 | 
			
		||||
WORKDIR /wheels
 | 
			
		||||
 | 
			
		||||
# Update pip & build the wheels
 | 
			
		||||
COPY ./setup.cfg ./
 | 
			
		||||
RUN pip wheel -e .
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
FROM python:3.9-slim
 | 
			
		||||
 | 
			
		||||
# Switch to non-root user
 | 
			
		||||
RUN groupadd -r runner && \
 | 
			
		||||
    useradd -mrg runner runner
 | 
			
		||||
 | 
			
		||||
# Install the generated wheels
 | 
			
		||||
COPY --from=builder /wheels /wheels
 | 
			
		||||
RUN pip install \
 | 
			
		||||
        --no-cache-dir \
 | 
			
		||||
        --no-warn-script-location \
 | 
			
		||||
        -f /wheels \
 | 
			
		||||
        -e /wheels && \
 | 
			
		||||
    rm -rf /wheels
 | 
			
		||||
 | 
			
		||||
# Switch to non-root user
 | 
			
		||||
USER runner
 | 
			
		||||
 | 
			
		||||
# Copy source files
 | 
			
		||||
WORKDIR /usr/src/app
 | 
			
		||||
COPY --chown=runner:runner ./app ./app
 | 
			
		||||
COPY --chown=runner:runner setup.cfg setup.py ./
 | 
			
		||||
 | 
			
		||||
ENTRYPOINT ["python"]
 | 
			
		||||
CMD ["app"]
 | 
			
		||||
| 
						 | 
				
			
			@ -6,4 +6,4 @@ app = Quart("jos")
 | 
			
		|||
async def hello():
 | 
			
		||||
    return "hello"
 | 
			
		||||
 | 
			
		||||
app.run()
 | 
			
		||||
app.run(host="0.0.0.0")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Reference in New Issue