mirror of
				https://github.com/actions/cache.git
				synced 2025-10-31 11:48:38 +08:00 
			
		
		
		
	Add docker layer caching example
This commit is contained in:
		
							parent
							
								
									ecf6eea708
								
							
						
					
					
						commit
						a90d1a0f71
					
				
							
								
								
									
										27
									
								
								examples.md
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								examples.md
									
									
									
									
									
								
							|  | @ -1,6 +1,7 @@ | ||||||
| # Examples | # Examples | ||||||
| 
 | 
 | ||||||
| - [C# - Nuget](#c---nuget) | - [C# - Nuget](#c---nuget) | ||||||
|  | - [Docker](#docker) | ||||||
| - [Elixir - Mix](#elixir---mix) | - [Elixir - Mix](#elixir---mix) | ||||||
| - [Go - Modules](#go---modules) | - [Go - Modules](#go---modules) | ||||||
| - [Java - Gradle](#java---gradle) | - [Java - Gradle](#java---gradle) | ||||||
|  | @ -157,3 +158,29 @@ Using [NuGet lock files](https://docs.microsoft.com/nuget/consume-packages/packa | ||||||
|     restore-keys: | |     restore-keys: | | ||||||
|       ${{ runner.os }}-pods- |       ${{ runner.os }}-pods- | ||||||
| ``` | ``` | ||||||
|  | 
 | ||||||
|  | ## Docker | ||||||
|  | 
 | ||||||
|  | ```yaml | ||||||
|  | - uses: actions/cache@preview | ||||||
|  |   id: cache | ||||||
|  |   with: | ||||||
|  |     path: docker-cache | ||||||
|  |     key: ${{ runner.os }}-docker-${{ hashFiles('**/Dockerfile') }} | ||||||
|  |     restore-keys: | | ||||||
|  |       ${{ runner.os }}-docker- | ||||||
|  | - name: Load cached Docker layers | ||||||
|  |   run: | | ||||||
|  |     if [ -d "docker-cache" ]; then | ||||||
|  |       cat docker-cache/x* > my-image.tar | ||||||
|  |       docker load < my-image.tar | ||||||
|  |       rm -fr docker-cache | ||||||
|  |     fi | ||||||
|  | - name: Build image | ||||||
|  |   if: steps.cache.outputs.cache-hit != 'true' | ||||||
|  |   run: | | ||||||
|  |     docker build --cache-from my-image -t my-image . | ||||||
|  |     docker save my-image > my-image.tar | ||||||
|  |     mkdir docker-cache | ||||||
|  |     split -b 100m my-image.tar docker-cache/x | ||||||
|  | ``` | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Peter Evans
						Peter Evans