-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
38 lines (27 loc) · 1.35 KB
/
Dockerfile
File metadata and controls
38 lines (27 loc) · 1.35 KB
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
# Сборка ---------------------------------------
# В качестве базового образа для сборки используем gcc:latest
FROM gcc:latest as build
# Установим рабочую директорию для сборки проекта
WORKDIR /app
# Скопируем директорию /src в контейнер
ADD ./src /app/src
ADD ./library /app/library
ADD CMakeLists.txt /app
ADD .gitmodules /app
ADD ./build.sh /app
# Запуск ---------------------------------------
# В качестве базового образа используем ubuntu:latest
FROM ubuntu:latest
RUN apt-get update && \
apt-get install -y build-essential git cmake autoconf libtool pkg-config
# Добавим пользователя, потому как в Docker по умолчанию используется root
# Запускать незнакомое приложение под root'ом неприлично :)
RUN groupadd -r sample && useradd -r -g sample sample
USER sample
WORKDIR /app
# Скопируем приложение со сборочного контейнера в рабочую директорию
COPY --from=build /app .
USER root
RUN /bin/bash -c 'chmod +x ./build.sh'
#CMD [ "/bin/sh", "/app/build.sh" ]
ENTRYPOINT ["/bin/bash","./build.sh","-start"]