Init
This commit is contained in:
		
						commit
						aa207bb132
					
				
							
								
								
									
										13
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,13 @@ | |||||||
|  | FROM docker.io/alpine:latest | ||||||
|  | 
 | ||||||
|  | RUN apk update && \ | ||||||
|  |     apk add tini composer git nginx php-fpm && \ | ||||||
|  |     adduser -D -g 'www' www && \ | ||||||
|  |     mkdir /www && \ | ||||||
|  |     chown -R www:www /var/lib/nginx && \ | ||||||
|  |     chown -R www:www /www | ||||||
|  | 
 | ||||||
|  | COPY ./nginx.conf /etc/nginx/nginx.conf | ||||||
|  | COPY ./entrypoint.sh /entrypoint.sh | ||||||
|  | 
 | ||||||
|  | ENTRYPOINT ["tini", "--", "/entrypoint.sh"] | ||||||
							
								
								
									
										25
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | |||||||
|  | # SamplePHPContainer | ||||||
|  | 
 | ||||||
|  | Containing Nginx with FastCGI and Composer. | ||||||
|  | 
 | ||||||
|  | # Usage  | ||||||
|  | 
 | ||||||
|  | ## Build | ||||||
|  | 
 | ||||||
|  | Clone the repo and build it locally | ||||||
|  | 
 | ||||||
|  |     docker build --no-cache -f ./Dockerfile --tag sample-php-container | ||||||
|  | 
 | ||||||
|  | The container is now ready to be used, navigate to your project folder. | ||||||
|  | 
 | ||||||
|  | ## Packages | ||||||
|  | 
 | ||||||
|  | This will install and or update any packages located in your composer file. | ||||||
|  | 
 | ||||||
|  |     docker run -dt -e UPDATE=1 -v ./:/www sample-php-container | ||||||
|  | 
 | ||||||
|  | ## Serving | ||||||
|  | 
 | ||||||
|  | Nginx serves files from the `public` directory. Any files Nginx fails to find locally will be redirected to `index.php`. | ||||||
|  | 
 | ||||||
|  |     docker run -dt -v ./:/www -p 8080:8080 --name sample-php-container-name sample-php-container | ||||||
							
								
								
									
										10
									
								
								entrypoint.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										10
									
								
								entrypoint.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,10 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | if [ "$UPDATE" = "1" ] | ||||||
|  | then | ||||||
|  |     cd /www | ||||||
|  |     composer update | ||||||
|  | else | ||||||
|  |     nginx | ||||||
|  |     /usr/sbin/php-fpm* | ||||||
|  |     exec sleep infinity | ||||||
|  | fi | ||||||
							
								
								
									
										38
									
								
								nginx.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								nginx.conf
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,38 @@ | |||||||
|  | user                            www; | ||||||
|  | worker_processes                1; | ||||||
|  | 
 | ||||||
|  | error_log                       stderr warn; | ||||||
|  | pid                             /var/run/nginx/nginx.pid; | ||||||
|  | 
 | ||||||
|  | events { | ||||||
|  |     worker_connections          1024; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | http { | ||||||
|  |     include                     /etc/nginx/mime.types; | ||||||
|  |     default_type                application/octet-stream; | ||||||
|  |     sendfile                    on; | ||||||
|  |     access_log                  off; | ||||||
|  |     keepalive_timeout           3000; | ||||||
|  | 
 | ||||||
|  |     server_tokens off; | ||||||
|  | 
 | ||||||
|  |     server { | ||||||
|  |         listen                  8080; | ||||||
|  |         root                    /www/public; | ||||||
|  |         index                   index.php; | ||||||
|  |         server_name             localhost; | ||||||
|  | 
 | ||||||
|  |         error_page              404 /index.php; | ||||||
|  | 
 | ||||||
|  |         location / { | ||||||
|  |             try_files $uri $uri/ /index.php?$query_string; | ||||||
|  |         }  | ||||||
|  | 
 | ||||||
|  |         location ~ \.php$ { | ||||||
|  |             try_files           $uri = /; | ||||||
|  |             fastcgi_pass        127.0.0.1:9000; | ||||||
|  |             include             fastcgi.conf; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user