@@ -268,7 +268,7 @@ func (c *LocalCluster) destroyContainers() error {
268
268
ctx , cancel := context .WithTimeout (context .Background (), requestTimeout )
269
269
defer cancel ()
270
270
271
- ro := types. ContainerRemoveOptions {RemoveVolumes : true , Force : true }
271
+ ro := container. RemoveOptions {RemoveVolumes : true , Force : true }
272
272
for _ , zo := range c .zeros {
273
273
if err := c .dcli .ContainerRemove (ctx , zo .cid (), ro ); err != nil {
274
274
return errors .Wrapf (err , "error removing zero [%v]" , zo .cname ())
@@ -284,38 +284,21 @@ func (c *LocalCluster) destroyContainers() error {
284
284
return nil
285
285
}
286
286
287
- // CheckRunningServices checks open ports using lsof and returns the output as a string
288
- func CheckRunningServices () (string , error ) {
289
- lsofCmd := exec .Command ("lsof" , "-i" , "-n" )
290
- output , err := runCommand (lsofCmd )
287
+ func (c * LocalCluster ) printPortMappings () error {
288
+ containers , err := c .dcli .ContainerList (context .Background (), container.ListOptions {})
291
289
if err != nil {
292
- return "" , fmt .Errorf ("error running lsof command: %v" , err )
293
- }
294
- return output , nil
295
- }
296
-
297
- // ListRunningContainers lists running Docker containers using the Docker Go client
298
- func (c * LocalCluster ) listRunningContainers () (string , error ) {
299
- containers , err := c .dcli .ContainerList (context .Background (), types.ContainerListOptions {})
300
- if err != nil {
301
- return "" , fmt .Errorf ("error listing Docker containers: %v" , err )
290
+ return errors .Wrap (err , "error listing docker containers" )
302
291
}
303
292
304
293
var result bytes.Buffer
305
294
for _ , container := range containers {
306
295
result .WriteString (fmt .Sprintf ("ID: %s, Image: %s, Command: %s, Status: %s\n " ,
307
296
container .ID [:10 ], container .Image , container .Command , container .Status ))
308
297
309
- result .WriteString ("Port Mappings:\n " )
310
- for _ , port := range container .Ports {
311
- result .WriteString (fmt .Sprintf (" %s:%d -> %d\n " , port .IP , port .PublicPort , port .PrivatePort ))
312
- }
313
- result .WriteString ("\n " )
314
-
315
298
result .WriteString ("Port Mappings:\n " )
316
299
info , err := c .dcli .ContainerInspect (context .Background (), container .ID )
317
300
if err != nil {
318
- return "" , errors .Wrap (err , "error inspecting container" )
301
+ return errors .Wrapf (err , "error inspecting container [%v]" , container . ID )
319
302
}
320
303
321
304
for port , bindings := range info .NetworkSettings .Ports {
@@ -327,42 +310,9 @@ func (c *LocalCluster) listRunningContainers() (string, error) {
327
310
result .WriteString ("\n " )
328
311
}
329
312
330
- return result .String (), nil
331
- }
332
-
333
- // runCommand executes a command and returns its output or an error
334
- func runCommand (cmd * exec.Cmd ) (string , error ) {
335
- var out bytes.Buffer
336
- var stderr bytes.Buffer
337
- cmd .Stdout = & out
338
- cmd .Stderr = & stderr
339
- err := cmd .Run ()
340
- if err != nil {
341
- return "" , fmt .Errorf ("%v: %v" , err , stderr .String ())
342
- }
343
- return out .String (), nil
344
- }
345
-
346
- func (c * LocalCluster ) printNetworkStuff () {
347
- log .Printf ("Checking running services and ports using lsof, netstat, and Docker...\n " )
348
-
349
- // Check running services using lsof
350
- lsofOutput , err := CheckRunningServices ()
351
- if err != nil {
352
- fmt .Printf ("Error checking running services: %v\n " , err )
353
- } else {
354
- log .Printf ("Output of lsof -i:" )
355
- log .Println (lsofOutput )
356
- }
357
-
358
- // List running Docker containers
359
- dockerOutput , err := c .listRunningContainers ()
360
- if err != nil {
361
- fmt .Printf ("Error listing Docker containers: %v\n " , err )
362
- } else {
363
- log .Printf ("Running Docker containers:" )
364
- log .Println (dockerOutput )
365
- }
313
+ log .Printf ("[INFO] ======== CONTAINERS' PORT MAPPINGS ========" )
314
+ log .Println (result .String ())
315
+ return nil
366
316
}
367
317
368
318
func (c * LocalCluster ) Cleanup (verbose bool ) {
@@ -377,6 +327,9 @@ func (c *LocalCluster) Cleanup(verbose bool) {
377
327
if err := c .printInspectContainers (); err != nil {
378
328
log .Printf ("[WARNING] error printing inspect container output: %v" , err )
379
329
}
330
+ if err := c .printPortMappings (); err != nil {
331
+ log .Printf ("[WARNING] error printing port mappings: %v" , err )
332
+ }
380
333
}
381
334
382
335
log .Printf ("[INFO] cleaning up cluster with prefix [%v]" , c .conf .prefix )
@@ -489,7 +442,7 @@ func (c *LocalCluster) StartAlpha(id int) error {
489
442
func (c * LocalCluster ) startContainer (dc dnode ) error {
490
443
ctx , cancel := context .WithTimeout (context .Background (), requestTimeout )
491
444
defer cancel ()
492
- if err := c .dcli .ContainerStart (ctx , dc .cid (), types. ContainerStartOptions {}); err != nil {
445
+ if err := c .dcli .ContainerStart (ctx , dc .cid (), container. StartOptions {}); err != nil {
493
446
return errors .Wrapf (err , "error starting container [%v]" , dc .cname ())
494
447
}
495
448
dc .changeStatus (true )
@@ -641,7 +594,6 @@ func (c *LocalCluster) containerHealthCheck(url func(c *LocalCluster) (string, e
641
594
return nil
642
595
}
643
596
644
- c .printNetworkStuff ()
645
597
return fmt .Errorf ("health failed, cluster took too long to come up [%v]" , endpoint )
646
598
}
647
599
@@ -1044,7 +996,7 @@ func (c *LocalCluster) getLogs(containerID string) (string, error) {
1044
996
ctx , cancel := context .WithTimeout (context .Background (), requestTimeout )
1045
997
defer cancel ()
1046
998
1047
- opts := types. ContainerLogsOptions {
999
+ opts := container. LogsOptions {
1048
1000
ShowStdout : true ,
1049
1001
ShowStderr : true ,
1050
1002
Details : true ,
0 commit comments