add D-in-D dockerfile, update Readme

This commit is contained in:
Robert Starmer
2023-03-14 14:14:02 -07:00
parent 3026a92c98
commit 5b506a2daa
2 changed files with 47 additions and 2 deletions

33
Dockerfile.dind Normal file
View File

@@ -0,0 +1,33 @@
# Use the official Docker docker-in-docker Alpine image as the base image
FROM docker:dind
# Set the working directory to /mrsk
WORKDIR /mrsk
# Copy the Gemfile, Gemfile.lock into the container
COPY Gemfile Gemfile.lock mrsk.gemspec ./
# Required in mrsk.gemspec
COPY lib/mrsk/version.rb /mrsk/lib/mrsk/version.rb
# Install system dependencies including ruby-dev
RUN apk add --no-cache --update ruby-dev build-base git docker openrc \
&& rc-update add docker boot \
&& gem install bundler --version=2.4.3 \
&& bundle install
# Copy the rest of our application code into the container.
# We do this after bundle install, to avoid having to run bundle
# everytime we do small fixes in the source code.
COPY . .
# Install the gem locally from the project folder
RUN gem build mrsk.gemspec && \
gem install ./mrsk-*.gem --no-document
# Set the working directory to /workdir
WORKDIR /workdir
# Set the entrypoint to run the installed binary in /workdir
# Example: docker run -it -v "$PWD:/workdir" mrsk init
ENTRYPOINT ["mrsk"]