diff --git a/CloudKit/Docker/Commands.vb b/CloudKit/Docker/Commands.vb index 9876454..d0b6331 100644 --- a/CloudKit/Docker/Commands.vb +++ b/CloudKit/Docker/Commands.vb @@ -1,43 +1,43 @@ #Region "Microsoft.VisualBasic::8ea53b995fa2693902323f5b89829565, CloudKit\Docker\Commands.vb" - ' Author: - ' - ' asuka (amethyst.asuka@gcmodeller.org) - ' xie (genetics@smrucc.org) - ' xieguigang (xie.guigang@live.com) - ' - ' Copyright (c) 2018 GPL3 Licensed - ' - ' - ' GNU GENERAL PUBLIC LICENSE (GPL3) - ' - ' - ' This program is free software: you can redistribute it and/or modify - ' it under the terms of the GNU General Public License as published by - ' the Free Software Foundation, either version 3 of the License, or - ' (at your option) any later version. - ' - ' This program is distributed in the hope that it will be useful, - ' but WITHOUT ANY WARRANTY; without even the implied warranty of - ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - ' GNU General Public License for more details. - ' - ' You should have received a copy of the GNU General Public License - ' along with this program. If not, see . - - - - ' /********************************************************************************/ - - ' Summaries: - - ' Module Commands - ' - ' Function: CommandHistory, PS, Run, Search - ' - ' Sub: [Stop] - ' - ' /********************************************************************************/ +' Author: +' +' asuka (amethyst.asuka@gcmodeller.org) +' xie (genetics@smrucc.org) +' xieguigang (xie.guigang@live.com) +' +' Copyright (c) 2018 GPL3 Licensed +' +' +' GNU GENERAL PUBLIC LICENSE (GPL3) +' +' +' This program is free software: you can redistribute it and/or modify +' it under the terms of the GNU General Public License as published by +' the Free Software Foundation, either version 3 of the License, or +' (at your option) any later version. +' +' This program is distributed in the hope that it will be useful, +' but WITHOUT ANY WARRANTY; without even the implied warranty of +' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +' GNU General Public License for more details. +' +' You should have received a copy of the GNU General Public License +' along with this program. If not, see . + + + +' /********************************************************************************/ + +' Summaries: + +' Module Commands +' +' Function: CommandHistory, PS, Run, Search +' +' Sub: [Stop] +' +' /********************************************************************************/ #End Region @@ -45,6 +45,7 @@ Imports System.Runtime.CompilerServices Imports Darwinism.Docker.Arguments Imports Darwinism.Docker.Captures Imports Microsoft.VisualBasic.CommandLine.Reflection +Imports Microsoft.VisualBasic.Language Imports Microsoft.VisualBasic.Scripting.MetaData Imports SMRUCC.Rsharp.Runtime.Interop @@ -218,4 +219,24 @@ Public Module Commands Return powershell(cli) End Function + + ''' + ''' delete docker images and related containers + ''' + ''' + ''' + + Public Function rmi(imageId As String) As Boolean + Dim stdout As Value(Of String) = "" + Dim containerId As String + + Do While (stdout = CommandLine.Call("docker", $"rmi {imageId}")).Contains("image is being used by stopped container") + containerId = Strings.Split(Trim(stdout)).Last + + Call CommandLine.Call("docker", $"rm {containerId}") + Call Console.WriteLine($"remove container {containerId}") + Loop + + Return True + End Function End Module