Skip to content

Commit 813877a

Browse files
committed
Rodando o prepar via container
close #5
1 parent 687fdc2 commit 813877a

File tree

3 files changed

+66
-10
lines changed

3 files changed

+66
-10
lines changed

.dockerignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
.github
2+
LINCESE
3+
README.md
4+
bin
5+
doc

Dockerfile

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Compilando o metis
2+
3+
FROM gcc:13.1.0
4+
WORKDIR /usr/metislib/
5+
6+
COPY metisLib/metis-5.1.0.tar.gz ./
7+
RUN tar -xvzf metis-5.1.0.tar.gz
8+
9+
RUN set -ex; \
10+
apt-get update; \
11+
apt-get install -y cmake
12+
13+
RUN cd metis-5.1.0; \
14+
make config; \
15+
make
16+
17+
18+
# Compilando o prepar
19+
20+
FROM gcc:13.1.0
21+
WORKDIR /usr/prepar/
22+
23+
COPY src src
24+
COPY include include
25+
COPY --from=0 /usr/metislib/metis-5.1.0/build/Linux-x86_64/libmetis/libmetis.a lib/
26+
COPY contrib/Makefile_base Makefile
27+
28+
RUN make
29+
30+
31+
# Gerando a imagem final com apenas o prepar
32+
FROM alpine:3.18.0
33+
WORKDIR /usr/build/
34+
COPY --from=1 /usr/prepar/bin/prepar ./
35+
36+
ENTRYPOINT [ "./prepar" ]

README.md

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,16 @@
55
[![Prepar build](https://github.com/lmn-labest/prepar/actions/workflows/build.yml/badge.svg)](https://github.com/lmn-labest/prepar/actions/workflows/build.yml)
66

77
Index
8-
- [Compilar o metis](#compilar-o-metis)
9-
- [Compilar o pre](#compilar-o-pre)
10-
- [Rodando o pre](#rodando-o-pre)
11-
- [Exemplo](#exemplo)
12-
- [Pre Compilados](#pre-compilados)
8+
- [prepar](#prepar)
9+
- [Compilar o metis](#compilar-o-metis)
10+
- [Compilar o pre](#compilar-o-pre)
11+
- [Rodando o pre](#rodando-o-pre)
12+
- [Exemplo](#exemplo)
13+
- [Pre-compilados](#pre-compilados)
14+
- [Docker](#docker)
1315

1416

15-
# Compilar o metis
17+
## Compilar o metis
1618

1719
Para compilar o metis basta seguir os seguintes passos:
1820

@@ -33,7 +35,7 @@ Estes comandos irão descompactar e compilar o metis5, configurarr o make, excet
3335
> OBS: As versões novas do metis que estão disponiveis no `github` precisam dessa lib extra `libGKlib`. As versões mais antigas do `metis` podem ser encontrados [aqui](http://glaros.dtc.umn.edu/gkhome/metis/metis/download). As `prepar` só funciona com as versão antigas do `metis`.
3436
3537

36-
# Compilar o pre
38+
## Compilar o pre
3739

3840
O primeiro passo é fazer uma copia do `Makefile_base`
3941

@@ -85,7 +87,7 @@ make
8587

8688
O executavel do `prepar` estará na pasta `bin`.
8789

88-
# Rodando o pre
90+
## Rodando o pre
8991

9092
Criar um arquivo `pre.dat` com o conteudo
9193

@@ -109,7 +111,7 @@ Para rodar basta
109111
prepar pre.dat
110112
```
111113

112-
# Exemplo
114+
## Exemplo
113115

114116
Exsite um exemplo de aquivo de entrada na pastas `contrib/bin/`. Para usa-lo primeiro vamos descompacta-lo para a pasta `bin/`.
115117

@@ -128,7 +130,20 @@ Exemplo da malha particonada em 6 partições
128130
![](doc/part_mesh.png)
129131

130132

131-
# Pre-compilados
133+
## Pre-compilados
132134

133135
Versões pré compilados para `linux` pode ser encotradas aqui [binarios](https://github.com/lmn-labest/prepar/releases/tag/0.1.0)
134136

137+
## Docker
138+
139+
Gerando a imagem caso ainda não exita
140+
141+
```console
142+
docker build -t prepar:latest .
143+
```
144+
145+
Para executar o `prepar` e gerar o parcionamento gerar o parcionamento
146+
147+
```console
148+
docker run --rm -it -v "$(pwd)/bin/solo/:/usr/build/solo/" prepar solo/pre.dat
149+
```

0 commit comments

Comments
 (0)