#include #include #include int print() { printf("\n"); printf("************* Docker控制程序 **************\n"); printf("************ 1. 启动Docker程序 **************\n"); printf("************ 2.启动Docker容器 ***********\n"); printf("************ 3.停止Docker容器 *************\n"); printf("************ 4.重启Docker容器 *************\n"); printf("************ 5.进入Docker容器 *************\n"); printf("************ 6.正在运行的容器 *************\n"); printf("************ 7.删除Docker容器 *************\n"); printf("************* 0.退出控制程序 ****************\n"); printf("\n"); } void StartDocker(){ system("sudo systemctl start docker"); } void StartNode(){ system("docker run -itd --name ubuntu-test ubuntu /bin/bash"); } void StopNode(){ char cmd[100] = "docker stop "; char str[20]; printf("Please enter the CONTAINER ID: "); scanf("%s",str); strcat(cmd, str); // printf(cmd); system(cmd); } void RestartNode(){ char cmd[100] = "docker restart "; char str[20]; printf("Please enter the CONTAINER ID: "); scanf("%s",str); strcat(cmd, str); // printf(cmd); system(cmd); } void EnterNode(){ char cmd[100] = "docker exec -it "; char str[20]; printf("Please enter the CONTAINER ID: "); scanf("%s",str); strcat(cmd, str); strcat(cmd, " /bin/bash"); // printf(cmd); system(cmd); } void RunningNode(){ system("docker ps"); } void DeleteNode(){ char cmd[100] = "docker rm -f "; char str[20]; printf("Please enter the CONTAINER ID: "); scanf("%s",str); strcat(cmd, str); // printf(cmd); system(cmd); } int Operation(int operID) { switch (operID) { case 1: printf("1.启动Docker\n"); StartDocker(); break; case 2: printf("2.启动Docker实例容器\n"); StartNode(); break; case 3: printf("3.停止Docker容器\n"); StopNode(); break; case 4: printf("4.重启Docker容器\n"); RestartNode(); break; case 5: printf("5.进入Docker容器\n"); EnterNode(); break; case 6: printf("6.正在运行的容器\n"); RunningNode(); break; case 7: printf("7.删除Docker容器\n"); DeleteNode(); break; case 0: return 0; default: printf("Error!\n"); } } int main(int argc,char *argv[]) { int operID; //const char* operID = NULL; if(argc>1) { if(strlen(argv[1])>1) { printf("Operation ID Error!\n"); return 0; } operID = argv[1][0] - '0'; Operation(operID); //operID = argv[1]; //char id[2]; //sprintf(id, operID); } else { print(); scanf("%d",&operID); // getchar(); // printf("%d",c); Operation(operID); } return 0; }