Задача 07 👨🏻‍💻Летняя программа 2021 г.

Описание задачи 📄
Интеграция Javascript с Docker

Задача 7.1

📌 В этой задаче вы должны создать веб-приложение для Docker (один из замечательных инструментов контейнеризации, который предоставляет пользователю платформу как услугу (PaaS)), продемонстрировав свое собственное творчество и навыки проектирования UI / UX, чтобы сделать веб-портал удобным для пользователей. .

Теперь мы собираемся создать приложение для Docker, который является одним из замечательных инструментов контейнеризации, который предоставляет пользователю платформу как услугу (PaaS). Приложение выглядит так, как показано на картинке ниже:

Теперь у каждого изображения по углам есть свои действия, которые выполняют поставленные задачи. Каждому из них поручено выполнять задачи, показанные на следующих изображениях.

Эти отдельные значки отображают действия в определенном поле для внесения некоторых изменений в приложение.

Приведенные выше изображения представляют собой изображения .png, используемые в приложениях для выполнения некоторых действий.

Код для создания

импорт cgi
подпроцесс импорта

print («тип-содержимого: текст / html»)
print ()

f = cgi.FieldStorage ()
img = f.getvalue ('i')
cname = f.getvalue ('n')
cmd = «sudo docker run -itd - name { } {} ”. Формат (cname, img)
op = subprocess.getoutput (cmd)
print (op)

Код для удаления

импорт cgi
подпроцесс импорта

print («тип-содержимого: текст / html»)
print ()

f = cgi.FieldStorage ()
cname = f.getvalue ('n')
cmd = «sudo docker rm -f {}». format (cname)
op = subprocess.getoutput (cmd)
печать (op)

Код изображения

импорт cgi
подпроцесс импорта

print («тип-содержимого: текст / html»)
print ()

f = cgi.FieldStorage ()
img = f.getvalue ('i')
cmd = «sudo docker pull {}». format (img)
op = subprocess.getoutput (cmd )
печать (оп)

Код для списка

импорт cgi
подпроцесс импорта

print («тип-содержимого: текст / html»)
print ()

cmd = ‘sudo docker ps -a | cut -d «« -f 1,2,5,4,10,8,17,18,19,40,31 ’
op = subprocess.getoutput (cmd)
print (op)

После всего этого, введя «Имя вашего изображения» и «Имя контейнера», будет создан контейнер. Назовем контейнер XYZ.

Введя команду «docker ps», вы можете убедиться, что контейнер успешно создан.

И нажав на «список всех контейнеров», он отобразит все контейнеры, которые вы создали.

Наконец, если вы хотите удалить контейнер, просто щелкните значок «Удалить контейнер» и введите имя контейнера, и он удалит контейнер, который был создан ранее. Появится сообщение о том, действительно ли вы хотите удалить контейнер. Нажимая «ОК», вы соглашаетесь удалить его.

feature.js

function create () {
solution = confirm (Вы уверены, что хотите« создать этот контейнер»);
if (solution == true) {
img = document.getElementById (C_i_name). Value;
cname = document.getElementById (c_c_name). Value;
xhr = new XMLHttpRequest ();
xhr.open ('GET', ' http://192.168.43.51/cgi-bin/create.py?i='+img+'&n='+cname,'true ');
xhr.send ();
xhr. onload = function () {
output = xhr.responseText;
document.getElementById (im). innerHTML = «;
output = output + «\ n \ n !!! Контейнер создан !!!
;
document.getElementById ( op ). InnerHTML = output;
}
}
}

function image () {
img = document.getElementById (p_i_name). value;
xhr = new XMLHttpRequest ();
xhr.open ('GET', 'http: / /192.168.43.51/cgi-bin/image.py?i='+img,'true ');
xhr.send ();
xhr.onload = function () {
output = xhr.responseText;
document.getElementById (im). innerHTML = output;
}

}

список функций () {
xhr = new XMLHttpRequest ();
xhr.open ('GET', 'http://192.168.43.51/cgi-bin/list.py','true' );
xhr.send ();
xhr.onload = function () {
output = xhr.responseText;
document.getElementById ( im ). InnerHTML = «;
document.getElementById («op
). InnerHTML = output;
}

}

function del () {
solution = confirm (Вы уверены, что хотите« удалить этот контейнер»);
if (solution == true) {
cname = document.getElementById (D_c_name). Value;
xhr = new XMLHttpRequest ();
xhr.open ('GET', 'http://192.168.43.51/cgi-bin/del.py?n = '+ cname,' true ');
xhr.send ();
xhr.onload = function () {
output = xhr.responseText;
document.getElementById (Im). InnerHTML = «;
output = «Container
+ output + Deleted
document.getElementById (op). InnerHTML = output;
}
}
}

Вывод. Вот как мы создаем веб-приложение для Docker (один из замечательных инструментов контейнеризации, который предоставляет пользователю платформу как услугу (PaaS).