forked from alshedivat/al-folio
-
Notifications
You must be signed in to change notification settings - Fork 28
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added commented code about docker permissions, organized Dockerfile (a…
…lshedivat#2801) I am currently testing out docker in a remote lab environment where docker was configured in a way that it can't run as root, causing some permission issues. The solution I could find was to add these changes (commented by default) to these files and fill the specifics so it could run as it was your user running the code. Signed-off-by: George Araújo <[email protected]>
- Loading branch information
1 parent
613be39
commit 4184a06
Showing
2 changed files
with
58 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,44 +1,75 @@ | ||
FROM ruby:latest | ||
|
||
# uncomment these if you are having this issue with the build: | ||
# /usr/local/bundle/gems/jekyll-4.3.4/lib/jekyll/site.rb:509:in `initialize': Permission denied @ rb_sysopen - /srv/jekyll/.jekyll-cache/.gitignore (Errno::EACCES) | ||
# ARG GROUPID=901 | ||
# ARG GROUPNAME=ruby | ||
# ARG USERID=901 | ||
# ARG USERNAME=jekyll | ||
|
||
ENV DEBIAN_FRONTEND noninteractive | ||
|
||
Label MAINTAINER Amir Pourmand | ||
LABEL authors="Amir Pourmand,George Araújo" \ | ||
description="Docker image for al-folio academic template" \ | ||
maintainer="Amir Pourmand" | ||
|
||
# uncomment these if you are having this issue with the build: | ||
# /usr/local/bundle/gems/jekyll-4.3.4/lib/jekyll/site.rb:509:in `initialize': Permission denied @ rb_sysopen - /srv/jekyll/.jekyll-cache/.gitignore (Errno::EACCES) | ||
# add a non-root user to the image with a specific group and user id to avoid permission issues | ||
# RUN groupadd -r $GROUPNAME -g $GROUPID && \ | ||
# useradd -u $USERID -m -g $GROUPNAME $USERNAME | ||
|
||
RUN apt-get update -y && apt-get install -y --no-install-recommends \ | ||
locales \ | ||
nodejs npm \ | ||
imagemagick \ | ||
build-essential \ | ||
zlib1g-dev \ | ||
python3-pip \ | ||
inotify-tools procps && \ | ||
apt-get clean && rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/* && \ | ||
pip install nbconvert --break-system-packages | ||
# install system dependencies | ||
RUN apt-get update -y && \ | ||
apt-get install -y --no-install-recommends \ | ||
build-essential \ | ||
curl \ | ||
imagemagick \ | ||
inotify-tools \ | ||
locales \ | ||
nodejs \ | ||
procps \ | ||
python3-pip \ | ||
zlib1g-dev && \ | ||
pip --no-cache-dir install --upgrade --break-system-packages nbconvert | ||
|
||
# clean up | ||
RUN apt-get clean && \ | ||
apt-get autoremove && \ | ||
rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/* /tmp/* | ||
|
||
# set the locale | ||
RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && \ | ||
locale-gen | ||
|
||
|
||
ENV LANG=en_US.UTF-8 \ | ||
# set environment variables | ||
ENV EXECJS_RUNTIME=Node \ | ||
JEKYLL_ENV=production \ | ||
LANG=en_US.UTF-8 \ | ||
LANGUAGE=en_US:en \ | ||
LC_ALL=en_US.UTF-8 \ | ||
JEKYLL_ENV=production | ||
LC_ALL=en_US.UTF-8 | ||
|
||
# create a directory for the jekyll site | ||
RUN mkdir /srv/jekyll | ||
|
||
# copy the Gemfile and Gemfile.lock to the image | ||
ADD Gemfile.lock /srv/jekyll | ||
ADD Gemfile /srv/jekyll | ||
|
||
# set the working directory | ||
WORKDIR /srv/jekyll | ||
|
||
# install jekyll and dependencies | ||
RUN gem install jekyll bundler | ||
|
||
RUN gem install --no-document jekyll bundler | ||
RUN bundle install --no-cache | ||
# && rm -rf /var/lib/gems/3.1.0/cache | ||
|
||
EXPOSE 8080 | ||
|
||
COPY bin/entry_point.sh /tmp/entry_point.sh | ||
|
||
# uncomment this if you are having this issue with the build: | ||
# /usr/local/bundle/gems/jekyll-4.3.4/lib/jekyll/site.rb:509:in `initialize': Permission denied @ rb_sysopen - /srv/jekyll/.jekyll-cache/.gitignore (Errno::EACCES) | ||
# set the ownership of the jekyll site directory to the non-root user | ||
# USER $USERNAME | ||
|
||
CMD ["/tmp/entry_point.sh"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters