Compare commits
18 Commits
Author | SHA1 | Date | |
---|---|---|---|
de2d7e647b | |||
d9348bd016 | |||
034fbc3994 | |||
a33a6a1f7f | |||
9dd403821b | |||
601d82ea74 | |||
784bb22511 | |||
71c89ac9bc | |||
0b3e3b68c9 | |||
f3779faaaf | |||
73476c2c39 | |||
942f65268d | |||
a965647c1f | |||
db88c7f86c | |||
3f18cb68bf | |||
dae3b59e3b | |||
53062e70d4 | |||
3e70dc465b |
2
package-lock.json
generated
2
package-lock.json
generated
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@mojoio/docker",
|
"name": "@mojoio/docker",
|
||||||
"version": "1.0.75",
|
"version": "1.0.84",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@mojoio/docker",
|
"name": "@mojoio/docker",
|
||||||
"version": "1.0.75",
|
"version": "1.0.84",
|
||||||
"description": "easy communication with docker remote api from node, TypeScript ready",
|
"description": "easy communication with docker remote api from node, TypeScript ready",
|
||||||
"private": false,
|
"private": false,
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
|
@ -140,7 +140,7 @@ export class DockerImage {
|
|||||||
if (this.Labels && this.Labels.version) {
|
if (this.Labels && this.Labels.version) {
|
||||||
return this.Labels.version;
|
return this.Labels.version;
|
||||||
} else {
|
} else {
|
||||||
return 'x.x.x';
|
return '0.0.0';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@ import * as plugins from './docker.plugins';
|
|||||||
import * as interfaces from './interfaces';
|
import * as interfaces from './interfaces';
|
||||||
|
|
||||||
import { DockerHost } from './docker.classes.host';
|
import { DockerHost } from './docker.classes.host';
|
||||||
|
import { DockerService } from './docker.classes.service';
|
||||||
|
|
||||||
export class DockerNetwork {
|
export class DockerNetwork {
|
||||||
public static async getNetworks(dockerHost: DockerHost): Promise<DockerNetwork[]> {
|
public static async getNetworks(dockerHost: DockerHost): Promise<DockerNetwork[]> {
|
||||||
@ -29,17 +30,17 @@ export class DockerNetwork {
|
|||||||
CheckDuplicate: true,
|
CheckDuplicate: true,
|
||||||
Driver: 'overlay',
|
Driver: 'overlay',
|
||||||
EnableIPv6: false,
|
EnableIPv6: false,
|
||||||
IPAM: {
|
/* IPAM: {
|
||||||
Driver: 'default',
|
Driver: 'default',
|
||||||
Config: [
|
Config: [
|
||||||
{
|
{
|
||||||
Subnet: '172.20.10.0/16',
|
Subnet: `172.20.${networkCreationDescriptor.NetworkNumber}.0/16`,
|
||||||
IPRange: '172.20.10.0/24',
|
IPRange: `172.20.${networkCreationDescriptor.NetworkNumber}.0/24`,
|
||||||
Gateway: '172.20.10.11'
|
Gateway: `172.20.${networkCreationDescriptor.NetworkNumber}.11`
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
}, */
|
||||||
Internal: true,
|
Internal: false,
|
||||||
Attachable: true,
|
Attachable: true,
|
||||||
Ingress: false
|
Ingress: false
|
||||||
});
|
});
|
||||||
@ -91,16 +92,28 @@ export class DockerNetwork {
|
|||||||
const response = await this.dockerHost.request('DELETE', `/networks/${this.Id}`);
|
const response = await this.dockerHost.request('DELETE', `/networks/${this.Id}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async getContainersOnNetwork(): Promise<{
|
public async getContainersOnNetwork(): Promise<Array<{
|
||||||
[key: string]: {
|
|
||||||
Name: string;
|
Name: string;
|
||||||
EndpointID: string;
|
EndpointID: string;
|
||||||
MacAddress: string;
|
MacAddress: string;
|
||||||
IPv4Address: string;
|
IPv4Address: string;
|
||||||
IPv6Address: string;
|
IPv6Address: string;
|
||||||
};
|
}>> {
|
||||||
}> {
|
const returnArray = [];
|
||||||
const response = await this.dockerHost.request('GET', `/networks/${this.Id}`);
|
const response = await this.dockerHost.request('GET', `/networks/${this.Id}`);
|
||||||
return response.body.Containers;
|
for (const key of Object.keys(response.body.Containers)) {
|
||||||
|
returnArray.push(response.body.Containers[key]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return returnArray;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public async getContainersOnNetworkForService(serviceArg: DockerService) {
|
||||||
|
const containersOnNetwork = await this.getContainersOnNetwork();
|
||||||
|
const containersOfService = containersOnNetwork.filter(container => {
|
||||||
|
return container.Name.startsWith(serviceArg.Spec.Name);
|
||||||
|
});
|
||||||
|
return containersOfService;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -128,7 +128,10 @@ export class DockerService {
|
|||||||
Image: serviceCreationDescriptor.image.RepoTags[0],
|
Image: serviceCreationDescriptor.image.RepoTags[0],
|
||||||
Labels: labels,
|
Labels: labels,
|
||||||
Secrets: secretArray,
|
Secrets: secretArray,
|
||||||
Mounts: mounts
|
Mounts: mounts,
|
||||||
|
/* DNSConfig: {
|
||||||
|
Nameservers: ['1.1.1.1']
|
||||||
|
} */
|
||||||
},
|
},
|
||||||
UpdateConfig: {
|
UpdateConfig: {
|
||||||
Parallelism: 0,
|
Parallelism: 0,
|
||||||
|
Reference in New Issue
Block a user