Commit 453f6c65 by chalermpong

add API

parent 92821338
FROM node:latest
WORKDIR /usr/src/app
COPY package.json app.js docker-compose.yml ./
RUN npm install
EXPOSE 3200
CMD ["node","app.js"]
\ No newline at end of file
This diff is collapsed. Click to expand it.
const Docker = require('dockerode'); const Docker = require('dockerode');
// สร้าง instance ของ Dockerode
const docker = new Docker(); const docker = new Docker();
const volumeName = 'my_volume'; // ระบุชื่อของ volume ที่ต้องการลบ
docker.getVolume(volumeName).remove((err) => { // เรียกใช้งาน Docker API เพื่อดึงข้อมูลสถิติของ container ทั้งหมด
if (err) { docker.listContainers((err, containers) => {
console.error('Error removing volume:', err); if (err) {
return; console.error('Error:', err);
} } else {
console.log('Volume removed successfully'); // วนลูปผ่าน container ทั้งหมด
containers.forEach((containerInfo) => {
const containerId = containerInfo.Id;
// ดึงข้อมูลสถิติของ container นั้น
docker.getContainer(containerId).stats((err, stream) => {
if (err) {
console.error('Error:', err);
} else {
stream.on('data', (chunk) => {
const stats = JSON.parse(chunk.toString('utf8'));
// แสดงข้อมูล CPU และ Memory
console.log('Container:', containerInfo.Names[0]);
console.log('CPU Usage:', stats.cpu_stats.cpu_usage.cpu_percent);
console.log('Memory Usage:', stats.memory_stats.usage);
});
stream.on('error', (err) => {
console.error('Stream error:', err);
});
}
});
});
}
}); });
...@@ -379,10 +379,10 @@ const filters = { ...@@ -379,10 +379,10 @@ const filters = {
### วิธีใช้ Docker compose โดยใช้ dockerode ### วิธีใช้ Docker compose โดยใช้ dockerode
ติดตั้ง Dockerode-compose ติดตั้ง Dockerode-compose ใช้คำสั่ง
``` ```
ใช้คำสั่ง npm install dockerode-compose npm install dockerode-compose
``` ```
docker compose pull docker compose pull
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
"dependencies": { "dependencies": {
"dockerode": "^4.0.2", "dockerode": "^4.0.2",
"dockerode-compose": "^1.4.0", "dockerode-compose": "^1.4.0",
"express": "^4.19.2",
"fs": "^0.0.1-security", "fs": "^0.0.1-security",
"js-yaml": "^4.1.0", "js-yaml": "^4.1.0",
"tar-fs": "^3.0.5" "tar-fs": "^3.0.5"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment