aleikin_artem_lab_2 #223
17
.gitignore
vendored
Normal file
17
.gitignore
vendored
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
################################################################################
|
||||||
|
# Данный GITIGNORE-файл был автоматически создан Microsoft(R) Visual Studio.
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
/.vs
|
||||||
|
/aleikin_artem_lab_2/MySolution/.vs
|
||||||
|
/aleikin_artem_lab_2/MySolution/ConsoleApp1/obj
|
||||||
|
/aleikin_artem_lab_2/MySolution/ConsoleApp2/obj
|
||||||
|
/dozorova_alena_lab_2/ConsoleApp2/obj
|
||||||
|
/dozorova_alena_lab_3
|
||||||
|
/dozorova_alena_lab_4
|
||||||
|
/dozorova_alena_lab_5/ConsoleApp1/obj
|
||||||
|
/dozorova_alena_lab_6/ConsoleApp1/obj
|
||||||
|
/aleikin_artem_lab_2/.vs
|
||||||
|
/aleikin_artem_lab_2/ConsoleApp1/obj
|
||||||
|
/aleikin_artem_lab_2/ConsoleApp2/obj
|
||||||
|
/aleikin_artem_lab_2/MySolution.sln
|
30
aleikin_artem_lab_2/.dockerignore
Normal file
30
aleikin_artem_lab_2/.dockerignore
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
**/.classpath
|
||||||
|
**/.dockerignore
|
||||||
|
**/.env
|
||||||
|
**/.git
|
||||||
|
**/.gitignore
|
||||||
|
**/.project
|
||||||
|
**/.settings
|
||||||
|
**/.toolstarget
|
||||||
|
**/.vs
|
||||||
|
**/.vscode
|
||||||
|
**/*.*proj.user
|
||||||
|
**/*.dbmdl
|
||||||
|
**/*.jfm
|
||||||
|
**/azds.yaml
|
||||||
|
**/bin
|
||||||
|
**/charts
|
||||||
|
**/docker-compose*
|
||||||
|
**/Dockerfile*
|
||||||
|
**/node_modules
|
||||||
|
**/npm-debug.log
|
||||||
|
**/obj
|
||||||
|
**/secrets.dev.yaml
|
||||||
|
**/values.dev.yaml
|
||||||
|
LICENSE
|
||||||
|
README.md
|
||||||
|
!**/.gitignore
|
||||||
|
!.git/HEAD
|
||||||
|
!.git/config
|
||||||
|
!.git/packed-refs
|
||||||
|
!.git/refs/heads/**
|
15
aleikin_artem_lab_2/ConsoleApp1/ConsoleApp1.csproj
Normal file
15
aleikin_artem_lab_2/ConsoleApp1/ConsoleApp1.csproj
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<OutputType>Exe</OutputType>
|
||||||
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.21.0" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
6
aleikin_artem_lab_2/ConsoleApp1/ConsoleApp1.csproj.user
Normal file
6
aleikin_artem_lab_2/ConsoleApp1/ConsoleApp1.csproj.user
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ActiveDebugProfile>Container (Dockerfile)</ActiveDebugProfile>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
28
aleikin_artem_lab_2/ConsoleApp1/Dockerfile
Normal file
28
aleikin_artem_lab_2/ConsoleApp1/Dockerfile
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
# См. статью по ссылке https://aka.ms/customizecontainer, чтобы узнать как настроить контейнер отладки и как Visual Studio использует этот Dockerfile для создания образов для ускорения отладки.
|
||||||
|
|
||||||
|
# Этот этап используется при запуске из VS в быстром режиме (по умолчанию для конфигурации отладки)
|
||||||
|
FROM mcr.microsoft.com/dotnet/runtime:8.0 AS base
|
||||||
|
USER app
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
|
||||||
|
# Этот этап используется для сборки проекта службы
|
||||||
|
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
|
||||||
|
ARG BUILD_CONFIGURATION=Release
|
||||||
|
WORKDIR /src
|
||||||
|
COPY ["ConsoleApp1/ConsoleApp1.csproj", "ConsoleApp1/"]
|
||||||
|
RUN dotnet restore "./ConsoleApp1/ConsoleApp1.csproj"
|
||||||
|
COPY . .
|
||||||
|
WORKDIR "/src/ConsoleApp1"
|
||||||
|
RUN dotnet build "./ConsoleApp1.csproj" -c $BUILD_CONFIGURATION -o /app/build
|
||||||
|
|
||||||
|
# Этот этап используется для публикации проекта службы, который будет скопирован на последний этап
|
||||||
|
FROM build AS publish
|
||||||
|
ARG BUILD_CONFIGURATION=Release
|
||||||
|
RUN dotnet publish "./ConsoleApp1.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
|
||||||
|
|
||||||
|
# Этот этап используется в рабочей среде или при запуске из VS в обычном режиме (по умолчанию, когда конфигурация отладки не используется)
|
||||||
|
FROM base AS final
|
||||||
|
WORKDIR /app
|
||||||
|
COPY --from=publish /app/publish .
|
||||||
|
ENTRYPOINT ["dotnet", "ConsoleApp1.dll"]
|
36
aleikin_artem_lab_2/ConsoleApp1/Program.cs
Normal file
36
aleikin_artem_lab_2/ConsoleApp1/Program.cs
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
using System;
|
||||||
|
using System.IO;
|
||||||
|
|
||||||
|
class Program
|
||||||
|
{
|
||||||
|
static void Main()
|
||||||
|
{
|
||||||
|
const string inputDir = "/var/data";
|
||||||
|
const string outputFile = "/var/result/data.txt";
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
using (var writer = new StreamWriter(outputFile))
|
||||||
|
{
|
||||||
|
var files = Directory.GetFiles(inputDir);
|
||||||
|
foreach (var file in files)
|
||||||
|
{
|
||||||
|
using (var reader = new StreamReader(file))
|
||||||
|
{
|
||||||
|
string firstLine = reader.ReadLine();
|
||||||
|
if (!string.IsNullOrEmpty(firstLine))
|
||||||
|
{
|
||||||
|
writer.WriteLine(firstLine);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Console.WriteLine($"Файл {outputFile} успешно создан.");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"Ошибка: {ex.Message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"profiles": {
|
||||||
|
"ConsoleApp1": {
|
||||||
|
"commandName": "Project"
|
||||||
|
},
|
||||||
|
"Container (Dockerfile)": {
|
||||||
|
"commandName": "Docker"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
15
aleikin_artem_lab_2/ConsoleApp2/ConsoleApp2.csproj
Normal file
15
aleikin_artem_lab_2/ConsoleApp2/ConsoleApp2.csproj
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<OutputType>Exe</OutputType>
|
||||||
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.21.0" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
6
aleikin_artem_lab_2/ConsoleApp2/ConsoleApp2.csproj.user
Normal file
6
aleikin_artem_lab_2/ConsoleApp2/ConsoleApp2.csproj.user
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ActiveDebugProfile>Container (Dockerfile)</ActiveDebugProfile>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
28
aleikin_artem_lab_2/ConsoleApp2/Dockerfile
Normal file
28
aleikin_artem_lab_2/ConsoleApp2/Dockerfile
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
# См. статью по ссылке https://aka.ms/customizecontainer, чтобы узнать как настроить контейнер отладки и как Visual Studio использует этот Dockerfile для создания образов для ускорения отладки.
|
||||||
|
|
||||||
|
# Этот этап используется при запуске из VS в быстром режиме (по умолчанию для конфигурации отладки)
|
||||||
|
FROM mcr.microsoft.com/dotnet/runtime:8.0 AS base
|
||||||
|
USER app
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
|
||||||
|
# Этот этап используется для сборки проекта службы
|
||||||
|
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
|
||||||
|
ARG BUILD_CONFIGURATION=Release
|
||||||
|
WORKDIR /src
|
||||||
|
COPY ["ConsoleApp2/ConsoleApp2.csproj", "ConsoleApp2/"]
|
||||||
|
RUN dotnet restore "./ConsoleApp2/ConsoleApp2.csproj"
|
||||||
|
COPY . .
|
||||||
|
WORKDIR "/src/ConsoleApp2"
|
||||||
|
RUN dotnet build "./ConsoleApp2.csproj" -c $BUILD_CONFIGURATION -o /app/build
|
||||||
|
|
||||||
|
# Этот этап используется для публикации проекта службы, который будет скопирован на последний этап
|
||||||
|
FROM build AS publish
|
||||||
|
ARG BUILD_CONFIGURATION=Release
|
||||||
|
RUN dotnet publish "./ConsoleApp2.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
|
||||||
|
|
||||||
|
# Этот этап используется в рабочей среде или при запуске из VS в обычном режиме (по умолчанию, когда конфигурация отладки не используется)
|
||||||
|
FROM base AS final
|
||||||
|
WORKDIR /app
|
||||||
|
COPY --from=publish /app/publish .
|
||||||
|
ENTRYPOINT ["dotnet", "ConsoleApp2.dll"]
|
34
aleikin_artem_lab_2/ConsoleApp2/Program.cs
Normal file
34
aleikin_artem_lab_2/ConsoleApp2/Program.cs
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
using System;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
class Program
|
||||||
|
{
|
||||||
|
static void Main()
|
||||||
|
{
|
||||||
|
const string inputFile = "/var/result/data.txt";
|
||||||
|
const string outputFile = "/var/result/result.txt";
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var lines = File.ReadAllLines(inputFile).Select(int.Parse).ToArray();
|
||||||
|
|
||||||
|
if (lines.Length >= 2)
|
||||||
|
{
|
||||||
|
int result = lines.First() * lines.Last();
|
||||||
|
|
||||||
|
File.WriteAllText(outputFile, result.ToString());
|
||||||
|
|
||||||
|
Console.WriteLine($"Произведение: {result}");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Console.WriteLine("Недостаточно данных в файле для вычисления.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"Ошибка: {ex.Message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"profiles": {
|
||||||
|
"ConsoleApp2": {
|
||||||
|
"commandName": "Project"
|
||||||
|
},
|
||||||
|
"Container (Dockerfile)": {
|
||||||
|
"commandName": "Docker"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
10
aleikin_artem_lab_2/data/file1.txt
Normal file
10
aleikin_artem_lab_2/data/file1.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
25
|
||||||
|
91
|
||||||
|
77
|
||||||
|
63
|
||||||
|
45
|
||||||
|
25
|
||||||
|
21
|
||||||
|
89
|
||||||
|
6
|
||||||
|
18
|
10
aleikin_artem_lab_2/data/file10.txt
Normal file
10
aleikin_artem_lab_2/data/file10.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
10
|
||||||
|
3
|
||||||
|
38
|
||||||
|
9
|
||||||
|
36
|
||||||
|
43
|
||||||
|
96
|
||||||
|
31
|
||||||
|
95
|
||||||
|
58
|
10
aleikin_artem_lab_2/data/file11.txt
Normal file
10
aleikin_artem_lab_2/data/file11.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
13
|
||||||
|
35
|
||||||
|
38
|
||||||
|
31
|
||||||
|
19
|
||||||
|
94
|
||||||
|
94
|
||||||
|
84
|
||||||
|
18
|
||||||
|
47
|
10
aleikin_artem_lab_2/data/file12.txt
Normal file
10
aleikin_artem_lab_2/data/file12.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
9
|
||||||
|
32
|
||||||
|
75
|
||||||
|
92
|
||||||
|
100
|
||||||
|
85
|
||||||
|
85
|
||||||
|
10
|
||||||
|
50
|
||||||
|
54
|
10
aleikin_artem_lab_2/data/file13.txt
Normal file
10
aleikin_artem_lab_2/data/file13.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
83
|
||||||
|
88
|
||||||
|
29
|
||||||
|
86
|
||||||
|
87
|
||||||
|
79
|
||||||
|
18
|
||||||
|
22
|
||||||
|
76
|
||||||
|
71
|
10
aleikin_artem_lab_2/data/file14.txt
Normal file
10
aleikin_artem_lab_2/data/file14.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
15
|
||||||
|
22
|
||||||
|
92
|
||||||
|
91
|
||||||
|
78
|
||||||
|
47
|
||||||
|
53
|
||||||
|
98
|
||||||
|
72
|
||||||
|
64
|
10
aleikin_artem_lab_2/data/file15.txt
Normal file
10
aleikin_artem_lab_2/data/file15.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
66
|
||||||
|
45
|
||||||
|
83
|
||||||
|
55
|
||||||
|
25
|
||||||
|
82
|
||||||
|
95
|
||||||
|
42
|
||||||
|
18
|
||||||
|
6
|
10
aleikin_artem_lab_2/data/file16.txt
Normal file
10
aleikin_artem_lab_2/data/file16.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
25
|
||||||
|
71
|
||||||
|
35
|
||||||
|
71
|
||||||
|
78
|
||||||
|
51
|
||||||
|
29
|
||||||
|
67
|
||||||
|
87
|
||||||
|
33
|
10
aleikin_artem_lab_2/data/file17.txt
Normal file
10
aleikin_artem_lab_2/data/file17.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
93
|
||||||
|
19
|
||||||
|
32
|
||||||
|
13
|
||||||
|
75
|
||||||
|
86
|
||||||
|
46
|
||||||
|
87
|
||||||
|
39
|
||||||
|
66
|
10
aleikin_artem_lab_2/data/file18.txt
Normal file
10
aleikin_artem_lab_2/data/file18.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
7
|
||||||
|
74
|
||||||
|
69
|
||||||
|
75
|
||||||
|
45
|
||||||
|
28
|
||||||
|
92
|
||||||
|
9
|
||||||
|
77
|
||||||
|
32
|
10
aleikin_artem_lab_2/data/file19.txt
Normal file
10
aleikin_artem_lab_2/data/file19.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
42
|
||||||
|
75
|
||||||
|
67
|
||||||
|
53
|
||||||
|
2
|
||||||
|
34
|
||||||
|
57
|
||||||
|
47
|
||||||
|
83
|
||||||
|
52
|
10
aleikin_artem_lab_2/data/file2.txt
Normal file
10
aleikin_artem_lab_2/data/file2.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
98
|
||||||
|
62
|
||||||
|
45
|
||||||
|
77
|
||||||
|
65
|
||||||
|
45
|
||||||
|
61
|
||||||
|
62
|
||||||
|
10
|
||||||
|
76
|
10
aleikin_artem_lab_2/data/file20.txt
Normal file
10
aleikin_artem_lab_2/data/file20.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
41
|
||||||
|
30
|
||||||
|
41
|
||||||
|
39
|
||||||
|
62
|
||||||
|
3
|
||||||
|
79
|
||||||
|
93
|
||||||
|
56
|
||||||
|
82
|
10
aleikin_artem_lab_2/data/file21.txt
Normal file
10
aleikin_artem_lab_2/data/file21.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
85
|
||||||
|
29
|
||||||
|
46
|
||||||
|
36
|
||||||
|
82
|
||||||
|
52
|
||||||
|
4
|
||||||
|
14
|
||||||
|
89
|
||||||
|
17
|
10
aleikin_artem_lab_2/data/file22.txt
Normal file
10
aleikin_artem_lab_2/data/file22.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
35
|
||||||
|
98
|
||||||
|
38
|
||||||
|
31
|
||||||
|
39
|
||||||
|
76
|
||||||
|
5
|
||||||
|
71
|
||||||
|
7
|
||||||
|
58
|
10
aleikin_artem_lab_2/data/file23.txt
Normal file
10
aleikin_artem_lab_2/data/file23.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
50
|
||||||
|
93
|
||||||
|
18
|
||||||
|
76
|
||||||
|
13
|
||||||
|
62
|
||||||
|
16
|
||||||
|
45
|
||||||
|
65
|
||||||
|
25
|
10
aleikin_artem_lab_2/data/file24.txt
Normal file
10
aleikin_artem_lab_2/data/file24.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
98
|
||||||
|
45
|
||||||
|
1
|
||||||
|
52
|
||||||
|
14
|
||||||
|
7
|
||||||
|
56
|
||||||
|
38
|
||||||
|
7
|
||||||
|
50
|
10
aleikin_artem_lab_2/data/file25.txt
Normal file
10
aleikin_artem_lab_2/data/file25.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
41
|
||||||
|
27
|
||||||
|
27
|
||||||
|
24
|
||||||
|
76
|
||||||
|
36
|
||||||
|
19
|
||||||
|
87
|
||||||
|
83
|
||||||
|
35
|
10
aleikin_artem_lab_2/data/file26.txt
Normal file
10
aleikin_artem_lab_2/data/file26.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
16
|
||||||
|
5
|
||||||
|
95
|
||||||
|
36
|
||||||
|
20
|
||||||
|
60
|
||||||
|
79
|
||||||
|
46
|
||||||
|
61
|
||||||
|
77
|
10
aleikin_artem_lab_2/data/file27.txt
Normal file
10
aleikin_artem_lab_2/data/file27.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
43
|
||||||
|
23
|
||||||
|
53
|
||||||
|
6
|
||||||
|
88
|
||||||
|
27
|
||||||
|
55
|
||||||
|
15
|
||||||
|
94
|
||||||
|
36
|
10
aleikin_artem_lab_2/data/file28.txt
Normal file
10
aleikin_artem_lab_2/data/file28.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
62
|
||||||
|
95
|
||||||
|
50
|
||||||
|
65
|
||||||
|
13
|
||||||
|
56
|
||||||
|
74
|
||||||
|
37
|
||||||
|
99
|
||||||
|
93
|
10
aleikin_artem_lab_2/data/file29.txt
Normal file
10
aleikin_artem_lab_2/data/file29.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
13
|
||||||
|
2
|
||||||
|
31
|
||||||
|
49
|
||||||
|
80
|
||||||
|
73
|
||||||
|
47
|
||||||
|
61
|
||||||
|
96
|
||||||
|
69
|
10
aleikin_artem_lab_2/data/file3.txt
Normal file
10
aleikin_artem_lab_2/data/file3.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
37
|
||||||
|
54
|
||||||
|
100
|
||||||
|
34
|
||||||
|
1
|
||||||
|
77
|
||||||
|
55
|
||||||
|
10
|
||||||
|
30
|
||||||
|
28
|
10
aleikin_artem_lab_2/data/file30.txt
Normal file
10
aleikin_artem_lab_2/data/file30.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
35
|
||||||
|
17
|
||||||
|
95
|
||||||
|
59
|
||||||
|
17
|
||||||
|
98
|
||||||
|
68
|
||||||
|
54
|
||||||
|
89
|
||||||
|
56
|
10
aleikin_artem_lab_2/data/file4.txt
Normal file
10
aleikin_artem_lab_2/data/file4.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
38
|
||||||
|
80
|
||||||
|
93
|
||||||
|
2
|
||||||
|
61
|
||||||
|
29
|
||||||
|
4
|
||||||
|
41
|
||||||
|
83
|
||||||
|
100
|
10
aleikin_artem_lab_2/data/file5.txt
Normal file
10
aleikin_artem_lab_2/data/file5.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
40
|
||||||
|
61
|
||||||
|
30
|
||||||
|
92
|
||||||
|
84
|
||||||
|
37
|
||||||
|
79
|
||||||
|
81
|
||||||
|
98
|
||||||
|
88
|
10
aleikin_artem_lab_2/data/file6.txt
Normal file
10
aleikin_artem_lab_2/data/file6.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
66
|
||||||
|
32
|
||||||
|
27
|
||||||
|
5
|
||||||
|
49
|
||||||
|
50
|
||||||
|
44
|
||||||
|
51
|
||||||
|
7
|
||||||
|
32
|
10
aleikin_artem_lab_2/data/file7.txt
Normal file
10
aleikin_artem_lab_2/data/file7.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
9
|
||||||
|
46
|
||||||
|
16
|
||||||
|
27
|
||||||
|
14
|
||||||
|
78
|
||||||
|
6
|
||||||
|
45
|
||||||
|
26
|
||||||
|
99
|
10
aleikin_artem_lab_2/data/file8.txt
Normal file
10
aleikin_artem_lab_2/data/file8.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
48
|
||||||
|
41
|
||||||
|
43
|
||||||
|
93
|
||||||
|
91
|
||||||
|
95
|
||||||
|
16
|
||||||
|
23
|
||||||
|
91
|
||||||
|
43
|
10
aleikin_artem_lab_2/data/file9.txt
Normal file
10
aleikin_artem_lab_2/data/file9.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
67
|
||||||
|
82
|
||||||
|
16
|
||||||
|
87
|
||||||
|
69
|
||||||
|
83
|
||||||
|
94
|
||||||
|
59
|
||||||
|
34
|
||||||
|
73
|
20
aleikin_artem_lab_2/docker-compose.yml
Normal file
20
aleikin_artem_lab_2/docker-compose.yml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
services:
|
||||||
|
app1:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: ConsoleApp1/Dockerfile
|
||||||
|
volumes:
|
||||||
|
- ./data:/var/data
|
||||||
|
- ./result:/var/result
|
||||||
|
container_name: app1
|
||||||
|
|
||||||
|
app2:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: ConsoleApp2/Dockerfile
|
||||||
|
volumes:
|
||||||
|
- ./data:/var/data
|
||||||
|
- ./result:/var/result
|
||||||
|
container_name: app2
|
||||||
|
depends_on:
|
||||||
|
- app1
|
97
aleikin_artem_lab_2/readme.md
Normal file
97
aleikin_artem_lab_2/readme.md
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
# Лабораторная работа 2 - Разработка простейшего распределённого приложения
|
||||||
|
## ПИбд-42 || Алейкин Артем
|
||||||
|
|
||||||
|
### Описание
|
||||||
|
В данной лабораторной работе мы изучили способы создания и развертывания простого распределённого приложения.
|
||||||
|
Для выполнения лабораторной работы в рамках реализации первого проекта был выбран 2-ой вариант, а для второго проекта - 0-ой вариант.
|
||||||
|
1.2: Формирует файл /var/result/data.txt из первых строк всех файлов каталога /var/data.
|
||||||
|
2.0: Сохраняет произведение первого и последнего числа из файла /var/data/data.txt в /var/result/result.txt.
|
||||||
|
|
||||||
|
### Docker-compose.yml
|
||||||
|
```
|
||||||
|
services:
|
||||||
|
app1:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: ConsoleApp1/Dockerfile
|
||||||
|
volumes:
|
||||||
|
- ./data:/var/data
|
||||||
|
- ./result:/var/result
|
||||||
|
container_name: app1
|
||||||
|
|
||||||
|
app2:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: ConsoleApp2/Dockerfile
|
||||||
|
volumes:
|
||||||
|
- ./data:/var/data
|
||||||
|
- ./result:/var/result
|
||||||
|
container_name: app2
|
||||||
|
depends_on:
|
||||||
|
- app1
|
||||||
|
```
|
||||||
|
|
||||||
|
app1:
|
||||||
|
build: Контейнер для app1 создается с использованием Dockerfile, расположенного в ConsoleApp1/Dockerfile.
|
||||||
|
volumes: Монтируются две локальные директории:
|
||||||
|
./data в /var/data внутри контейнера
|
||||||
|
./result в /var/result внутри контейнера
|
||||||
|
container_name: Контейнер будет называться app1.
|
||||||
|
|
||||||
|
app2:
|
||||||
|
build: Контейнер для app2 создается с использованием Dockerfile, расположенного в ConsoleApp2/Dockerfile.
|
||||||
|
volumes: Монтируются те же локальные директории, что и для app1.
|
||||||
|
container_name: Контейнер будет называться app2.
|
||||||
|
depends_on: Контейнер app2 зависит от запуска контейнера app1, что означает, что app2 будет запускаться только после того, как контейнер app1 будет готов.
|
||||||
|
|
||||||
|
|
||||||
|
### Шаги для запуска:
|
||||||
|
1. Запуск Docker - Desktop
|
||||||
|
2. Открыть консоль в папке с docker-compose.yml
|
||||||
|
3. Ввести команду:
|
||||||
|
```
|
||||||
|
docket-compose up --build
|
||||||
|
```
|
||||||
|
|
||||||
|
#### В результате в папке result создаётся два текстовых документа:
|
||||||
|
|
||||||
|
data - результат работы первого проекта
|
||||||
|
```
|
||||||
|
25
|
||||||
|
10
|
||||||
|
13
|
||||||
|
9
|
||||||
|
83
|
||||||
|
15
|
||||||
|
66
|
||||||
|
25
|
||||||
|
93
|
||||||
|
7
|
||||||
|
42
|
||||||
|
98
|
||||||
|
41
|
||||||
|
85
|
||||||
|
35
|
||||||
|
50
|
||||||
|
98
|
||||||
|
41
|
||||||
|
16
|
||||||
|
43
|
||||||
|
62
|
||||||
|
13
|
||||||
|
37
|
||||||
|
35
|
||||||
|
38
|
||||||
|
40
|
||||||
|
66
|
||||||
|
9
|
||||||
|
48
|
||||||
|
67
|
||||||
|
```
|
||||||
|
result - результат работы второго проекта
|
||||||
|
```
|
||||||
|
1675
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
Видео демонстрации работы: https://vk.com/video248424990_456239609?list=ln-jAWvJM5pgqjuzJLU1j
|
30
aleikin_artem_lab_2/result/data.txt
Normal file
30
aleikin_artem_lab_2/result/data.txt
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
25
|
||||||
|
10
|
||||||
|
13
|
||||||
|
9
|
||||||
|
83
|
||||||
|
15
|
||||||
|
66
|
||||||
|
25
|
||||||
|
93
|
||||||
|
7
|
||||||
|
42
|
||||||
|
98
|
||||||
|
41
|
||||||
|
85
|
||||||
|
35
|
||||||
|
50
|
||||||
|
98
|
||||||
|
41
|
||||||
|
16
|
||||||
|
43
|
||||||
|
62
|
||||||
|
13
|
||||||
|
37
|
||||||
|
35
|
||||||
|
38
|
||||||
|
40
|
||||||
|
66
|
||||||
|
9
|
||||||
|
48
|
||||||
|
67
|
1
aleikin_artem_lab_2/result/result.txt
Normal file
1
aleikin_artem_lab_2/result/result.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
1675
|
Loading…
Reference in New Issue
Block a user