I just stumbled over this twitter post from Steve

And I asked myself the same question already some time ago. And guess what, this is super easy 😉
Stop and Commit the container you want to copy
You first need to stop your container you want to copy. If it is running of course 😉
Stop-BcContainer <ContainerToCopy>
This should not take too long.
After that you can use the “Docker commit” command to save the current state of this container to a new image.
docker commit <ContainerToCopy> backup:containertocopy
“backup:containertocopy” is the name of the new image. If you have the docker extension for vs code you will see your image in the side bar like that:

Create a new container from the image
I created a simple script with the New-BcContainerWizard for you to reuse. Note that you only need to pass your image name to the New-BCContainer command. The artifact url you dont need in this scenario 😉
$containerName = 'CopyOfSavedContainer'
$password = 'P@ssw0rd'
$securePassword = ConvertTo-SecureString -String $password -AsPlainText -Force
$credential = New-Object pscredential 'admin', $securePassword
$auth = 'UserPassword'
$licenseFile = 'PathToYourLicenseFile'
New-BcContainer `
-accept_eula `
-containerName $containerName `
-credential $credential `
-auth $auth `
-imageName 'backup:containertocopy' `
-licenseFile $licenseFile `
-memoryLimit 8G `
-updateHosts
This also should speed up your container creation process a lot as nothing needs to be installed inside the container 😉

Thanks for reading!
Thanx for the tip, Stefan.
LikeLike