Ich versuche, unsere Rails-App zu einer Docker-Bereitstellung zu verschieben, aber ich bekomme es nicht, Bundle von einer Github-Referenz zu installieren.Bündelung von Github in einer Dockerfile
Mit dem unten Dockerfile:
FROM ruby:2.3.0-slim
MAINTAINER Chris Jewell <[email protected]>
# Install dependencies:
# - build-essential: To ensure certain gems can be compiled
# - nodejs: Compile assets
# - libpq-dev: Communicate with postgres through the postgres gem
# - postgresql-client-9.4: In case you want to talk directly to postgres
RUN apt-get update && apt-get install -qq -y build-essential nodejs libpq-dev postgresql-client-9.4 --fix-missing --no-install-recommends
# Set an environment variable to store where the app is installed to inside
# of the Docker image.
ENV INSTALL_PATH /ventbackend
RUN mkdir -p $INSTALL_PATH
# This sets the context of where commands will be ran in and is documented
# on Docker's website extensively.
WORKDIR $INSTALL_PATH
# Ensure gems are cached and only get updated when they change. This will
# drastically increase build times when your gems do not change.
COPY Gemfile Gemfile
RUN bundle install
# Copy in the application code from your work station at the current directory
# over to the working directory.
COPY . .
# Provide dummy data to Rails so it can pre-compile assets.
RUN bundle exec rake RAILS_ENV=production DATABASE_URL=postgresql://user:[email protected]/dbname SECRET_TOKEN=pickasecuretoken assets:precompile
# Expose a volume so that nginx will be able to read in assets in production.
VOLUME ["$INSTALL_PATH/public"]
# The default command that gets ran will be to start the Unicorn server.
CMD bundle exec unicorn -c config/unicorn.rb
bekomme ich folgende Fehlermeldung beim Versuch docker-compose up
auszuführen:
You need to install git to be able to use gems from git repositories. For help installing git, please refer to GitHub's tutorial at https://help.github.com/articles/set-up-git
Ich gehe davon aus, dass dies wegen der Zeilen in der Gemfile ist wie :
gem 'logstasher', github: 'MarkMurphy/logstasher', ref: 'be3e871385bde7b1897ec2a1831f868a843d8000'
Howeve Wir verwenden auch einige private Edelsteine.
Ist die Installation von Git auf dem Container der Weg zu gehen? Wie wird sich das mit Github authentifizieren?
Die Fehlermeldung scheint sehr direkt in den Schritten zu sein, die Sie ergreifen müssen. Gibt es einen Grund, die Installation von Git zu vermeiden? Die meisten Github-Repos, auf die in einem Installationsprogramm wie diesem verwiesen wird, sind öffentlich, es ist keine Anmeldung erforderlich. – BMitch