Compare commits

...

2 Commits

Author SHA1 Message Date
314cb692ac 1.0.45 2019-08-16 18:21:55 +02:00
73f8ded3fe fix(core): update 2019-08-16 18:21:55 +02:00
6 changed files with 24 additions and 6 deletions

2
package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "@mojoio/docker",
"version": "1.0.44",
"version": "1.0.45",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "@mojoio/docker",
"version": "1.0.44",
"version": "1.0.45",
"description": "easy communication with docker remote api from node, TypeScript ready",
"private": false,
"main": "dist/index.js",

View File

@ -64,12 +64,16 @@ tap.test('should list all services', async tools => {
});
tap.test('should create a service', async () => {
const testNetwork = await docker.DockerNetwork.createNetwork(testDockerHost, {
Name: 'testNetwork'
});
await DockerService.createService(testDockerHost, {
Image: 'nginx',
Image: 'nginx:latest',
Labels: {
'testlabel': 'hi'
},
Name: 'testService'
Name: 'testService',
networks: [testNetwork]
});
});

View File

@ -47,6 +47,8 @@ export class DockerImage {
} else {
imageUrlObject.imageTag = imageTag;
}
} else if (!imageUrlObject.imageTag) {
imageUrlObject.imageTag = 'latest';
}
imageUrlObject.imageOriginTag = `${imageUrlObject.imageUrl}:${imageUrlObject.imageTag}`;

View File

@ -23,10 +23,19 @@ export class DockerService {
serviceCreationDescriptor: interfaces.IServiceCreationDescriptor
) {
// lets get the image
DockerImage.createFromRegistry(dockerHost, {
plugins.smartlog.defaultLogger.log('info', `downloading image for service ${serviceCreationDescriptor.Name}`);
const serviceImage = await DockerImage.createFromRegistry(dockerHost, {
imageUrl: serviceCreationDescriptor.Image
});
const networkArray: any[] = [];
for (const network of serviceCreationDescriptor.networks) {
networkArray.push({
Target: network.Name,
Aliases: []
});
}
dockerHost.request('POST', '/services/create', {
Name: serviceCreationDescriptor.Name,
TaskTemplate: {
@ -35,7 +44,8 @@ export class DockerService {
Labels: serviceCreationDescriptor.Labels
}
},
Labels: serviceCreationDescriptor.Labels
Labels: serviceCreationDescriptor.Labels,
Networks: networkArray
});
}

View File

@ -1,7 +1,9 @@
import * as interfaces from './';
import { DockerNetwork } from '../docker.classes.network';
export interface IServiceCreationDescriptor {
Name: string;
Image: string;
Labels: interfaces.TLabels;
networks: DockerNetwork[];
}