Ver código fonte

networks display 'in use'

lllllllillllllillll 1 ano atrás
pai
commit
3080516d93
5 arquivos alterados com 23 adições e 8 exclusões
  1. 1 1
      controllers/images.js
  2. 16 1
      controllers/networks.js
  3. 2 2
      views/images.html
  4. 2 2
      views/networks.html
  5. 2 2
      views/volumes.html

+ 1 - 1
controllers/images.js

@@ -78,7 +78,7 @@ export const Images = async function(req, res) {
 
 
         let status = '';
         let status = '';
         if (container_images.includes(images[i].RepoTags[0])) {
         if (container_images.includes(images[i].RepoTags[0])) {
-            status = 'In Use';
+            status = 'In use';
         }
         }
 
 
         let details = `
         let details = `

+ 16 - 1
controllers/networks.js

@@ -3,6 +3,16 @@ import { docker } from '../server.js';
 
 
 export const Networks = async function(req, res) {
 export const Networks = async function(req, res) {
 
 
+
+    let container_networks = [];
+    // List all containers
+    let containers = await docker.listContainers({ all: true });
+    for (let i = 0; i < containers.length; i++) {
+        let network_name = containers[i].HostConfig.NetworkMode;
+        try { container_networks.push(containers[i].NetworkSettings.Networks[network_name].NetworkID) } catch {}
+    }
+
+
     let networks = await docker.listNetworks({ all: true });
     let networks = await docker.listNetworks({ all: true });
 
 
     let network_list = `
     let network_list = `
@@ -24,12 +34,17 @@ export const Networks = async function(req, res) {
         // let date = new Date(images[i].Created * 1000);
         // let date = new Date(images[i].Created * 1000);
         // let created = date.toLocaleDateString('en-US', { month: 'long', day: 'numeric', year: 'numeric' });
         // let created = date.toLocaleDateString('en-US', { month: 'long', day: 'numeric', year: 'numeric' });
         
         
+        let status = '';
+        if (container_networks.includes(networks[i].Id)) {
+            status = `In use`;
+        }
+
         let details = `
         let details = `
             <tr>
             <tr>
                 <td><input class="form-check-input m-0 align-middle" name="select" value="${networks[i].Id}" type="checkbox" aria-label="Select"></td>
                 <td><input class="form-check-input m-0 align-middle" name="select" value="${networks[i].Id}" type="checkbox" aria-label="Select"></td>
                 <td class="sort-name">${networks[i].Name}</td>
                 <td class="sort-name">${networks[i].Name}</td>
                 <td class="sort-city">${networks[i].Id}</td>
                 <td class="sort-city">${networks[i].Id}</td>
-                <td class="sort-score text-green"> - </td>
+                <td class="sort-score text-green">${status}</td>
                 <td class="sort-date" data-date="1628122643">${networks[i].Created}</td>
                 <td class="sort-date" data-date="1628122643">${networks[i].Created}</td>
                 <td class="text-end"><a class="btn" href="#">Details</a></td>
                 <td class="text-end"><a class="btn" href="#">Details</a></td>
             </tr>`
             </tr>`

+ 2 - 2
views/images.html

@@ -35,10 +35,10 @@
                     <div class="card-header">
                     <div class="card-header">
                       <h3 class="card-title">Docker Images</h3>
                       <h3 class="card-title">Docker Images</h3>
                         <div class="card-options btn-list">                  
                         <div class="card-options btn-list">                  
-                            <a href="#" class="btn">
+                            <!-- <a href="#" class="btn">
                             <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-refresh" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4"></path> <path d="M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4"></path> </svg>
                             <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-refresh" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4"></path> <path d="M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4"></path> </svg>
                               Refresh
                               Refresh
-                            </a>
+                            </a> -->
                             <a href="#" class="btn" data-bs-toggle="modal" data-bs-target="#modals-here">
                             <a href="#" class="btn" data-bs-toggle="modal" data-bs-target="#modals-here">
                             <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-plus" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 5l0 14"></path> <path d="M5 12l14 0"></path> </svg>
                             <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-plus" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 5l0 14"></path> <path d="M5 12l14 0"></path> </svg>
                               New Image
                               New Image

+ 2 - 2
views/networks.html

@@ -35,10 +35,10 @@
                     <div class="card-header">
                     <div class="card-header">
                       <h3 class="card-title">Docker Networks</h3>
                       <h3 class="card-title">Docker Networks</h3>
                         <div class="card-options btn-list">                  
                         <div class="card-options btn-list">                  
-                            <a href="#" class="btn">
+                            <!-- <a href="#" class="btn">
                             <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-refresh" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4"></path> <path d="M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4"></path> </svg>
                             <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-refresh" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4"></path> <path d="M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4"></path> </svg>
                             Refresh
                             Refresh
-                            </a>
+                            </a> -->
                             <a href="#" class="btn" data-bs-toggle="modal" data-bs-target="#not_add-site">
                             <a href="#" class="btn" data-bs-toggle="modal" data-bs-target="#not_add-site">
                             <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-plus" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 5l0 14"></path> <path d="M5 12l14 0"></path> </svg>
                             <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-plus" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 5l0 14"></path> <path d="M5 12l14 0"></path> </svg>
                             New Network
                             New Network

+ 2 - 2
views/volumes.html

@@ -35,10 +35,10 @@
                     <div class="card-header">
                     <div class="card-header">
                       <h3 class="card-title">Docker Volumes</h3>
                       <h3 class="card-title">Docker Volumes</h3>
                         <div class="card-options btn-list">                  
                         <div class="card-options btn-list">                  
-                            <a href="#" class="btn">
+                            <!-- <a href="#" class="btn">
                             <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-refresh" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4"></path> <path d="M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4"></path> </svg>
                             <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-refresh" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4"></path> <path d="M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4"></path> </svg>
                               Refresh
                               Refresh
-                            </a>
+                            </a> -->
                             <a href="#" class="btn" data-bs-toggle="modal" data-bs-target="#modals-here">
                             <a href="#" class="btn" data-bs-toggle="modal" data-bs-target="#modals-here">
                             <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-plus" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 5l0 14"></path> <path d="M5 12l14 0"></path> </svg>
                             <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-plus" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 5l0 14"></path> <path d="M5 12l14 0"></path> </svg>
                               New Volume
                               New Volume