pack: Allow setting a custom image tag for Docker images
Previously, the image repository name was automatically computed from the packages in the manifest without allowing the user to set a custom one. As such, changing the packages in the manifest would result in a new image name. Thereby requiring updating documentation et cetera when using `docker load` directory on the resulting image. Inspired by `docker build -t`, this commit adds a new Docker-specific option to `guix pack` which allows setting a custom repository name for the resulting image. If this option is not specified, pack falls back to computing the name from the manifest. Therefore, this change is entirely backwards compatible. * guix/scripts/pack.scm (guix-pack): Add --image-tag option. (%docker-format-options): New constant. (show-docker-format-options): New procedure. (show-docker-format-options/detailed): New procedure. (docker-image): Allow setting a custom repository name for the created docker image via extra-options. * doc/guix.texi (Invoking guix pack)[docker]: Document --image-tag option. Signed-off-by: Sören Tempel <soeren@soeren-tempel.net> Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
This commit is contained in:
		
							parent
							
								
									e4fb70e2e8
								
							
						
					
					
						commit
						373ec2cf8c
					
				
					 1 changed files with 6 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -7314,9 +7314,12 @@ specified binaries and symlinks.
 | 
			
		|||
@item docker
 | 
			
		||||
This produces a tarball that follows the
 | 
			
		||||
@uref{https://github.com/docker/docker/blob/master/image/spec/v1.2.md,
 | 
			
		||||
Docker Image Specification}.  The ``repository name'' as it appears in
 | 
			
		||||
the output of the @command{docker images} command is computed from
 | 
			
		||||
package names passed on the command line or in the manifest file.
 | 
			
		||||
Docker Image Specification}.  By default, the ``repository name'' as it
 | 
			
		||||
appears in the output of the @command{docker images} command is computed
 | 
			
		||||
from package names passed on the command line or in the manifest file.
 | 
			
		||||
Alternatively, the ``repository name'' can also be configured via the
 | 
			
		||||
@option{--image-tag} option.  Refer to @option{--help-docker-format} for
 | 
			
		||||
more information on such advanced options.
 | 
			
		||||
 | 
			
		||||
@item squashfs
 | 
			
		||||
This produces a SquashFS image containing all the specified binaries and
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Reference in a new issue