Commit 92821338 by root

update README

parent ad361eae
......@@ -20,7 +20,16 @@ _____________________
| [docker compose](#วิธีใช้-docker-compose-โดยใช้-dockerode) | ✔ | ทำการ compose file
| [docker inspect](#วิธีเช็คข้อมูล-container-ใน-dockerode) | ✔ | เช็คข้อมูล container
| [docker exec](#วิธ๊เช็คข้อมูลใน-container-exec-โดยใช้-dockerode) | ✔ | เช็คข้อมูลภายใน container
| docker cp | ✖ |
| [docker network create](#กำหนด-network-โดยใช้-dockerode) | ✔ | สร้าง network
| [docker network ls](#แสดง-network-ทั้งหมด) | ✔ | แสดง network ทั้งหมด
| [docker network rm](#ลบ-network) | ✔ | ลบ network
| [docker network connect](#กำหนดการเชื่อมต่อ-network-กับ-container) | ✔ | เชื่อต่อ network กับ container
| [docker network disconnect](#ตัดการเชื่อมต่อ-network-กับ-container) | ✔ | ตัดเชื่อต่อ network กับ container
| [docker volume create](#วิธีสร้าง-volume) | ✔ | สร้าง volume
| [docker volume ls](#วิธีแสดง-volume) | ✔ | แสดง volume
| [docker volume rm](#วิธีลบ-volume) | ✔ | ลบ volume
| [docker container update](#กำหนด-env-โดยใช้-dockerode) | ✔ | กำหนด แก้ไข ลบ ข้อมูล environment
| docker cp | ✖ | copy ไฟล์จาก local ไปยัง container
### วิธีเรียกใช้ Dockerode
......@@ -479,6 +488,88 @@ docker.createNetwork(options, (err, network) => {
```
docker use network
#### ลบ network
``` javascript
const Docker = require('dockerode');
const docker = new Docker();
const networkId = 'your_network_id'; // ระบุ ID ของเน็ตเวิร์กที่ต้องการลบ
const network = docker.getNetwork(networkId);
network.remove((err) => {
if (err) {
console.error('Error removing network:', err);
return;
}
console.log('Network removed successfully');
});
```
#### แสดง Network ทั้งหมด
``` javascript
const Docker = require('dockerode');
const docker = new Docker();
docker.listNetworks((err, networks) => {
if (err) {
console.error('Error listing networks:', err);
return;
}
console.log('Networks:');
networks.forEach(network => {
console.log(` Name: ${network.Name}`);
console.log(` ID: ${network.Id}`);
console.log(` Driver: ${network.Driver}`);
console.log(` Scope: ${network.Scope}`);
console.log();
});
});
```
#### กำหนดการเชื่อมต่อ network กับ container
``` javascript
const Docker = require('dockerode');
const docker = new Docker();
const containerId = 'your_container_id'; // ระบุ ID ของ container ที่ต้องการเชื่อมต่อกับ network
const networkId = 'your_network_id'; // ระบุ ID ของ network ที่ต้องการเชื่อมต่อ
const container = docker.getContainer(containerId);
container.connect({ NetworkID: networkId }, (err) => {
if (err) {
console.error('Error connecting container to network:', err);
return;
}
console.log('Container connected to network successfully');
});
```
#### ตัดการเชื่อมต่อ network กับ container
``` javascript
const Docker = require('dockerode');
const docker = new Docker();
const containerId = 'your_container_id'; // ระบุ ID ของ container ที่ต้องการตัดการเชื่อมต่อจาก network
const networkId = 'your_network_id'; // ระบุ ID ของ network ที่ต้องการตัดการเชื่อมต่อ
const container = docker.getContainer(containerId);
container.disconnect({ NetworkID: networkId }, (err) => {
if (err) {
console.error('Error disconnecting container from network:', err);
return;
}
console.log('Container disconnected from network successfully');
});
```
#### กำหนด Blind mount ใน Container
......@@ -537,8 +628,79 @@ docker.createContainer(options, (err, container) => {
});
}
});
```
#### Update ข้อมูล env ใน Conatainer
``` javascript
const Docker = require('dockerode');
const docker = new Docker();
const containerId = 'your_container_id'; // ระบุ ID ของ container ที่ต้องการอัปเดตตัวแปรสภาพแวดล้อม
const envKey = 'YOUR_ENV_KEY'; // ระบุ key ของตัวแปรสภาพแวดล้อมที่ต้องการอัปเดต
const envValue = 'new_value'; // ระบุค่าใหม่ของตัวแปรสภาพแวดล้อม
const container = docker.getContainer(containerId);
// ดึงข้อมูล configuration ปัจจุบันของ container
container.inspect((err, data) => {
if (err) {
console.error('Error inspecting container:', err);
return;
}
// ดึงตัวแปรสภาพแวดล้อมปัจจุบัน
let env = data.Config.Env || [];
// ลบตัวแปรสภาพแวดล้อมที่ต้องการอัปเดต (หากมีอยู่)
env = env.filter(item => !item.startsWith(`${envKey}=`));
// เพิ่มตัวแปรสภาพแวดล้อมที่อัปเดตเข้าไปใหม่
env.push(`${envKey}=${envValue}`);
// อัปเดต container ด้วยข้อมูล configuration ใหม่ (รวมถึงตัวแปรสภาพแวดล้อม)
container.update({
Env: env
}, (err) => {
if (err) {
console.error('Error updating container:', err);
return;
}
console.log(`Environment variable ${envKey} updated successfully`);
});
});
```
#### ลบ env ใน Container
``` javascript
const Docker = require('dockerode');
const docker = new Docker();
const containerId = 'your_container_id'; // ระบุ ID ของ container ที่ต้องการลบ environment variables
const envKey = 'YOUR_ENV_KEY'; // ระบุ key ของ environment variable ที่ต้องการลบ
const container = docker.getContainer(containerId);
container.inspect((err, data) => {
if (err) {
console.error('Error inspecting container:', err);
return;
}
const env = data.Config.Env || [];
const newEnv = env.filter(item => !item.startsWith(`${envKey}=`)); // ลบ environment variable ที่ต้องการ
container.update({
Env: newEnv
}, (err) => {
if (err) {
console.error('Error updating container:', err);
return;
}
console.log(`Environment variable ${envKey} removed successfully`);
});
});
```
#### วิธ๊เช็คข้อมูลใน Container Exec โดยใช้ Dockerode
``` javascript
......@@ -579,6 +741,76 @@ docker.getContainer(containerId).exec({
});
});
```
### วิธีสร้าง Volume
``` javascript
const Docker = require('dockerode');
const docker = new Docker();
const volumeName = 'my_volume'; // ชื่อของ volume ที่ต้องการสร้าง
docker.createVolume({ Name: volumeName }, (err, volumeInfo) => {
if (err) {
console.error('Error creating volume:', err);
return;
}
console.log('Volume created successfully:', volumeInfo);
});
```
#### วิธีแสดง Volume
``` javascript
const Docker = require('dockerode');
const docker = new Docker();
docker.modem.dial({ path: '/volumes', method: 'GET', options: {} }, (err, data) => {
if (err) {
console.error('Error listing volumes:', err);
return;
}
const volumes = JSON.parse(data.toString()).Volumes;
console.log('Volumes:', volumes);
});
```
โดยสามารถการกรองข้อมูลการแสดงได้ ดังนี้
``` javascript
const Docker = require('dockerode');
const docker = new Docker();
docker.listVolumes((err, volumes) => {
if (err) {
console.error('Error listing volumes:', err);
return;
}
const volumeNames = volumes.Volumes.map(volume => volume.Name);
console.log('Volume Names:', volumeNames);
});
```
#### วิธีลบ Volume
``` javascript
const Docker = require('dockerode');
const docker = new Docker();
const volumeName = 'my_volume'; // ระบุชื่อของ volume ที่ต้องการลบ
docker.getVolume(volumeName).remove((err) => {
if (err) {
console.error('Error removing volume:', err);
return;
}
console.log('Volume removed successfully');
});
```
......
const Docker = require('dockerode');
const fs = require('fs');
var docker = new Docker({socketPath: '/var/run/docker.sock'});
const docker = new Docker();
const volumeName = 'my_volume'; // ระบุชื่อของ volume ที่ต้องการลบ
const containerId = 'flowstack-flowengine-1'; // ระบุ ID หรือชื่อของ container ที่ต้องการ copy ไฟล์เข้าไป
const srcPath = '/home/bakukan2008/dockerode/README.md'; // ระบุพาธของไฟล์ที่ต้องการ copy จาก local เครื่อง
const destPath = '/run'; // ระบุพาธของไฟล์ใน container ที่ต้องการ copy เข้าไป
docker.getContainer(containerId).exec({
AttachStdout: true,
AttachStderr: true,
Tty: false,
Cmd: ['ls', '-l', '/'], // ระบุคำสั่งที่ต้องการ execute ใน container
}, (err, exec) => {
docker.getVolume(volumeName).remove((err) => {
if (err) {
console.error('Error creating exec instance:', err);
console.error('Error removing volume:', err);
return;
}
exec.start((err, stream) => {
if (err) {
console.error('Error starting exec instance:', err);
return;
}
stream.on('data', (chunk) => {
console.log('Output:', chunk.toString());
});
stream.on('end', () => {
console.log('Execution complete.');
});
stream.on('error', (err) => {
console.error('Error executing command:', err);
});
});
});
\ No newline at end of file
console.log('Volume removed successfully');
});
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