Изменил(а) на 'Dockerfile'
This commit is contained in:
parent
e77ca5d665
commit
07c7c05c47
77
Dockerfile
77
Dockerfile
@ -3,28 +3,65 @@ MAINTAINER Like Ma <likemartinma@gmail.com>
|
|||||||
|
|
||||||
ENV DEBIAN_FRONTEND noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
RUN set -eux; \
|
# Установка необходимых пакетов и зависимостей
|
||||||
apt-get update; \
|
RUN apt-get update && apt-get install -y apt-utils libffi-dev --no-install-recommends \
|
||||||
apt-get install -y --no-install-recommends sudo sshpass ruby \
|
sudo sshpass curl git-core zlib1g-dev build-essential \
|
||||||
glusterfs-client nodejs-legacy netbase \
|
libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 \
|
||||||
ruby-dev npm git make g++ libsqlite3-dev; \
|
libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties \
|
||||||
npm install -g bower; \
|
nodejs npm
|
||||||
echo "gem: --no-rdoc --no-ri" > ~/.gemrc; \
|
|
||||||
gem install bundler; \
|
|
||||||
git clone https://github.com/oss2016summer/gluster-web-interface.git \
|
|
||||||
/gluster-web; \
|
|
||||||
cd /gluster-web; \
|
|
||||||
bower install --allow-root; \
|
|
||||||
echo "gem 'tzinfo-data'" >> Gemfile; \
|
|
||||||
bundle install; \
|
|
||||||
bin/rake db:migrate; \
|
|
||||||
apt-get clean; \
|
|
||||||
rm -rf /var/lib/apt/lists/* /tmp/* Gemfile.* ~/.gem ~/.bundle \
|
|
||||||
/usr/lib/ruby/gems/2.3.0/cache; \
|
|
||||||
apt-get remove --purge -y ruby-dev npm git make g++ libsqlite3-dev; \
|
|
||||||
apt-get autoremove --purge -y
|
|
||||||
|
|
||||||
|
# Установка rbenv и ruby-build
|
||||||
|
RUN git clone https://github.com/rbenv/rbenv.git ~/.rbenv && \
|
||||||
|
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build && \
|
||||||
|
export PATH="$HOME/.rbenv/bin:$HOME/.rbenv/plugins/ruby-build/bin:$PATH" && \
|
||||||
|
eval "$(rbenv init -)" && \
|
||||||
|
rbenv install 2.3.3 && \
|
||||||
|
rbenv global 2.3.3 && \
|
||||||
|
echo 'Проверка установки Ruby' && ruby -v && \
|
||||||
|
echo 'Проверка установки Gem' && gem -v
|
||||||
|
|
||||||
|
# Устанавливаем путь к Ruby в переменной окружения PATH
|
||||||
|
ENV PATH /root/.rbenv/versions/2.3.3/bin:$PATH
|
||||||
|
|
||||||
|
# Экспорт путей и инициализация rbenv
|
||||||
|
RUN /bin/bash -c 'export PATH="$HOME/.rbenv/bin:$HOME/.rbenv/plugins/ruby-build/bin:$PATH" && \
|
||||||
|
eval "$(rbenv init -)"'
|
||||||
|
|
||||||
|
# Установка Bundler и Bower
|
||||||
|
RUN /bin/bash -c 'echo "gem: --no-document" > ~/.gemrc && \
|
||||||
|
$HOME/.rbenv/versions/2.3.3/bin/gem install bundler -v 1.17.3 && \
|
||||||
|
npm install -g bower'
|
||||||
|
|
||||||
|
# Клонирование репозитория проекта
|
||||||
|
RUN git clone https://git.softuniq.eu/UniqueSoft/gluster-web-interface.git /gluster-web
|
||||||
|
|
||||||
|
# Установка Node.js и создание символической ссылки
|
||||||
|
RUN apt-get install -y nodejs npm && ln -s /usr/bin/nodejs /usr/bin/node
|
||||||
|
|
||||||
|
# Установка необходимых зависимостей для ffi
|
||||||
|
RUN apt-get install -y libffi-dev
|
||||||
|
|
||||||
|
# Явная установка ffi
|
||||||
|
RUN /bin/bash -c '$HOME/.rbenv/versions/2.3.3/bin/gem install ffi -v 1.9.18'
|
||||||
|
|
||||||
|
# Установка зависимостей проекта
|
||||||
WORKDIR /gluster-web
|
WORKDIR /gluster-web
|
||||||
|
RUN echo "gem 'tzinfo-data'" >> /gluster-web/Gemfile
|
||||||
|
RUN /bin/bash -c "cd /gluster-web && echo \"gem 'tzinfo-data'\" >> Gemfile"
|
||||||
|
RUN /bin/bash -c "source ~/.bashrc && bower install --allow-root && \
|
||||||
|
$HOME/.rbenv/versions/2.3.3/bin/bundle install"
|
||||||
|
|
||||||
|
# Настройка базы данных
|
||||||
|
RUN /bin/bash -c "source ~/.bashrc && export PATH=\"$HOME/.rbenv/versions/2.3.3/bin:$PATH\" && bin/rake db:migrate"
|
||||||
|
|
||||||
|
# Очистка и удаление ненужных пакетов
|
||||||
|
RUN apt-get clean && \
|
||||||
|
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
|
||||||
|
apt-get purge -y --auto-remove
|
||||||
|
|
||||||
|
# Копирование entrypoint скрипта
|
||||||
COPY entrypoint /
|
COPY entrypoint /
|
||||||
|
|
||||||
|
# Открытие порта и установка точки входа
|
||||||
EXPOSE 3000
|
EXPOSE 3000
|
||||||
ENTRYPOINT ["/entrypoint"]
|
ENTRYPOINT ["/entrypoint"]
|
||||||
|
Loading…
Reference in New Issue
Block a user