-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcreate-images.ps1
57 lines (48 loc) · 2.14 KB
/
create-images.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
$dockerHubUsername = "razvanmocica"
# services array
$services = @(
@{ name = "config-server"; context = "./config-server"; dockerfile = "Dockerfile" },
@{ name = "eureka"; context = "./service-registry"; dockerfile = "Dockerfile" },
@{ name = "gateway-service"; context = "./gateway-service"; dockerfile = "Dockerfile" },
@{ name = "user-service"; context = "."; dockerfile = "user-service/Dockerfile" },
@{ name = "comment-service"; context = "."; dockerfile = "comment-service/Dockerfile" },
@{ name = "exercise-service"; context = "."; dockerfile = "exercise-service/Dockerfile" },
@{ name = "invoices-service"; context = "./invoices-service"; dockerfile = "Dockerfile" },
@{ name = "websocket-service"; context = "./websocket-service"; dockerfile = "Dockerfile" },
@{ name = "order-service"; context = "."; dockerfile = "order-service/Dockerfile" },
@{ name = "post-service"; context = "."; dockerfile = "post-service/Dockerfile" },
@{ name = "training-service"; context = "."; dockerfile = "training-service/Dockerfile" },
@{ name = "nextjs"; context = "./client-micro"; dockerfile = "Dockerfile" }
)
# function to build and push Docker images
function BuildAndPush-DockerImage
{
param (
[string]$imageName,
[string]$context,
[string]$dockerfile
)
try
{
Write-Output "Building image for $imageName from context $context and Dockerfile $dockerfile..."
docker build -t $imageName -f "$context/$dockerfile" $context 2>&1
Write-Output "Pushing image $imageName to Docker Hub..."
docker push $imageName 2>&1
}
catch
{
Write-Output "Error occurred while processing $imageName"
$_
}
}
foreach ($service in $services)
{
Write-Output "Building and pushing image for $( $service.name )..."
$imageName = "$dockerHubUsername/$( $service.name ):latest"
$context = $service.context
$dockerfile = $service.dockerfile
BuildAndPush-DockerImage -imageName $imageName -context $context -dockerfile $dockerfile
}
Write-Output "All images have been built and pushed to Docker Hub."
Write-Output "Press any key to close."
Pause