You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
4.1 KiB
105 lines
4.1 KiB
namespace Tiobon.PublishHelper
|
|
{
|
|
/// <summary>
|
|
/// Docker命令封装
|
|
/// </summary>
|
|
public class DockerCommand
|
|
{
|
|
/// <summary>
|
|
/// docker ps
|
|
/// </summary>
|
|
/// <param name="hospital"></param>
|
|
/// <returns></returns>
|
|
public static string GetDockerStatus(string hospital)
|
|
{
|
|
return $"sudo docker ps -a --format \"table {{{{.ID}}}}||{{{{.Names}}}}||{{{{.Image}}}}||{{{{.Command}}}}||{{{{.CreatedAt}}}}||{{{{.RunningFor}}}}||{{{{.Ports}}}}||{{{{.Status}}}}||{{{{.Networks}}}}\" | grep \"{hospital}_\"";
|
|
}
|
|
/// <summary>
|
|
/// docker containerName
|
|
/// </summary>
|
|
/// <param name="hospital"></param>
|
|
/// <param name="modelName"></param>
|
|
/// <returns></returns>
|
|
public static string GetDockerContainerName(string hospital, string modelName)
|
|
{
|
|
return $"sudo docker ps -a --format \"table {{{{.Names}}}}\" | grep \"{hospital}_{modelName}\"";
|
|
}
|
|
/// <summary>
|
|
/// docker logs
|
|
/// </summary>
|
|
/// <param name="hospital"></param>
|
|
/// <returns></returns>
|
|
public static string GetDockerLogs(string containerName)
|
|
{
|
|
return $"sudo docker logs {containerName} --tail=50";
|
|
}
|
|
/// <summary>
|
|
/// docker-compose down
|
|
/// </summary>
|
|
/// <param name="userName"></param>
|
|
/// <param name="hospital"></param>
|
|
/// <returns></returns>
|
|
public static string DockerComposeDown(string userName, string hospital, string suffix )
|
|
{
|
|
return $"cd /home/{userName}/ihdis{suffix}/{hospital};sudo docker-compose down";
|
|
}
|
|
/// <summary>
|
|
/// docker-compose up
|
|
/// </summary>
|
|
/// <param name="userName"></param>
|
|
/// <param name="hospital"></param>
|
|
/// <returns></returns>
|
|
public static string DockerComposeUp(string userName, string hospital, string suffix )
|
|
{
|
|
return $"cd /home/{userName}/ihdis{suffix}/{hospital};sudo docker-compose up -d";
|
|
}
|
|
/// <summary>
|
|
/// docker-compose restart
|
|
/// </summary>
|
|
/// <param name="userName"></param>
|
|
/// <param name="hospital"></param>
|
|
/// <returns></returns>
|
|
public static string DockerComposeRestart(string userName, string hospital, string suffix )
|
|
{
|
|
return $"cd /home/{userName}/ihdis{suffix}/{hospital};sudo docker-compose restart";
|
|
}
|
|
/// <summary>
|
|
/// docker-compose remove
|
|
/// </summary>
|
|
/// <param name="userName"></param>
|
|
/// <param name="hospital"></param>
|
|
/// <returns></returns>
|
|
public static string DockerComposeRemove(string userName, string hospital, string cname, string suffix )
|
|
{
|
|
return $"cd /home/{userName}/ihdis{suffix}/{hospital};sudo docker-compose stop {cname};sudo docker-compose rm -f {cname}";
|
|
}
|
|
/// <summary>
|
|
/// docker container restart
|
|
/// </summary>
|
|
/// <param name="containerId"></param>
|
|
/// <returns></returns>
|
|
public static string DockeContainerRestart(string containerId)
|
|
{
|
|
return $"sudo docker restart {containerId}";
|
|
}
|
|
/// <summary>
|
|
/// docker-compose restart container
|
|
/// </summary>
|
|
/// <param name="userName"></param>
|
|
/// <param name="hospital"></param>
|
|
/// <returns></returns>
|
|
public static string DockerComposeContainerRestart(string userName, string hospital, string container, string suffix )
|
|
{
|
|
return $"cd /home/{userName}/ihdis{suffix}/{hospital};sudo docker-compose restart {container}";
|
|
}
|
|
/// <summary>
|
|
/// docker container log
|
|
/// </summary>
|
|
/// <param name="containerId"></param>
|
|
/// <returns></returns>
|
|
public static string DockeContainerLog(string userName, string hospital, string container, string suffix )
|
|
{
|
|
return $"cd /home/{userName}/ihdis{suffix}/{hospital};sudo docker-compose logs {container}";
|
|
}
|
|
}
|
|
}
|
|
|