From 87622dfa8f037f6cee01a2bd39e1141497c1baa9 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 7 Apr 2020 14:54:45 +0300 Subject: [PATCH 1/2] add Dockerfile --- Dockerfile | 38 ++++++++++++++++++++++++++++++++++++++ README.md | 25 +++++++++++++++++++++---- build.sh | 8 ++++++++ library/CMakeLists.txt | 3 --- 4 files changed, 67 insertions(+), 7 deletions(-) create mode 100644 Dockerfile delete mode 100644 library/CMakeLists.txt diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..180c351 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,38 @@ +# Сборка --------------------------------------- + +# В качестве базового образа для сборки используем 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"] + diff --git a/README.md b/README.md index f4bcd62..34b6f71 100644 --- a/README.md +++ b/README.md @@ -17,9 +17,7 @@ cd plugins - mkdir build - - cd build + mkdir build && cd build cmake .. @@ -27,7 +25,26 @@ ## Install make install - + +## Build from script +./build.sh + +RUN: + +./build.sh -start + +##Usage Dockerfile +docker run -it -p 5672:5672 -p 15672:15672 -h localhost rabbitmq:3 + + +docker build -t docker-plugin1 . + +docker run -it --rm --network=host docker-plugin1:latest + + + + + ## Usage Start rabbitmq-server with default parametrs diff --git a/build.sh b/build.sh index 28e9955..dc29213 100755 --- a/build.sh +++ b/build.sh @@ -34,6 +34,7 @@ if [ -n "$1" ] if [[ $1 = "-h" ]];then echo -e "${GREEN} Help:" echo -e "${NORMAL}" "-package, create package "; + echo -e "${NORMAL}" "-start, start plugin"; echo -e "-h, help"; exit fi @@ -59,6 +60,13 @@ cmake .. make -j4 +if [ -n "$1" ] + then + if [[ $1 = "-start" ]]; then + echo -e "${GREEN} \t start plugins: ${NORMAL}" + ./plugins + fi +fi if [ -n "$1" ] then if [[ $1 = "-package" ]]; then diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt deleted file mode 100644 index f1d25fb..0000000 --- a/library/CMakeLists.txt +++ /dev/null @@ -1,3 +0,0 @@ -cmake_minimum_required(VERSION 3.5) -add_subdirectory( AMQP-CPP ) -add_subdirectory( poco ) \ No newline at end of file From 5bae8d398b82a5820bc363722e21b91d66b618b8 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Thu, 14 May 2020 11:42:31 +0300 Subject: [PATCH 2/2] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 34b6f71..614a074 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ RUN: ./build.sh -start -##Usage Dockerfile +## Usage Dockerfile docker run -it -p 5672:5672 -p 15672:15672 -h localhost rabbitmq:3