Perlの実行環境の入っているDockerイメージを作る
ここを参考に入れてみた。
pyenvをplenvに置き換えただけの簡単のDockerfileです。
FROM centos:6.4 RUN rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm RUN yum update -y RUN yum install -y passwd RUN yum install -y sudo RUN yum install -y gcc RUN yum install -y gcc-c++ RUN yum install -y make RUN yum install -y vim RUN yum install -y git RUN yum install --enablerepo=epel -y mosh RUN yum install -y openssl-devel RUN yum install -y zlib-devel RUN yum install -y readline-devel RUN yum install -y bzip2-devel RUN yum install -y libevent-devel RUN yum install -y openssh RUN yum install -y openssh-server RUN yum install -y openssh-clients # create user RUN useradd python_spameggs RUN passwd -f -u python_spameggs RUN mkdir -p /home/python_spameggs/.ssh ADD ./authorized_keys /home/python_spameggs/.ssh/ RUN chown -R python_spameggs /home/python_spameggs/.ssh; chmod 700 /home/python_spameggs/.ssh; chmod 600 /home/python_spameggs/.ssh/authorized_keys RUN sed -ri 's/UsePAM yes/#UsePAM yes/g' /etc/ssh/sshd_config RUN sed -ri 's/#UsePAM no/UsePAM no/g' /etc/ssh/sshd_config # sudoers RUN echo "python_spameggs ALL=(ALL) ALL" >> /etc/sudoers.d/python_spameggs # lang ## plenv RUN mkdir -p /home/python_spameggs/.plenv RUN chown -R python_spameggs /home/python_spameggs/.plenv; chmod 700 /home/python_spameggs/.plenv RUN su python_spameggs -c "git clone git://github.com/tokuhirom/plenv.git /home/python_spameggs/.plenv" RUN su python_spameggs -c "git clone git://github.com/tokuhirom/Perl-Build.git /home/python_spameggs/.plenv/plugins/perl-build/" RUN echo 'export PLENV_ROOT="${HOME}/.plenv"' >> /home/python_spameggs/.bash_profile RUN echo 'export PATH="${PLENV_ROOT}/bin:${PATH}"' >> /home/python_spameggs/.bash_profile RUN echo 'eval "$(plenv init -)"' >> /home/python_spameggs/.bash_profile RUN chown -R python_spameggs /home/python_spameggs/.bash_profile; chmod 644 /home/python_spameggs/.bash_profile RUN su python_spameggs -c ". /home/python_spameggs/.bash_profile; plenv install 5.18.2" RUN /etc/init.d/sshd start RUN /etc/init.d/sshd stop EXPOSE 22 CMD ["/usr/sbin/sshd", "-D"]
まだまだ、微妙なところがあるだろうけどメモとして。
追記(2014/04/23)
# perl(plenv) USER python_spameggs WORKDIR /home/python_spameggs RUN mkdir .plenv && chmod 700 .plenv RUN git clone git://github.com/tokuhirom/plenv.git .plenv/ RUN git clone git://github.com/tokuhirom/Perl-Build.git .plenv/plugins/perl-build/ RUN echo 'export PLENV_ROOT="${HOME}/.plenv"' >> .bash_profile RUN echo 'export PATH="${PLENV_ROOT}/bin:${PATH}"' >> .bash_profile RUN echo 'eval "$(plenv init -)"' >> .bash_profile ENV PLENV_ROOT /home/python_spameggs/.plenv ENV PATH ${PLENV_ROOT}/bin:${PATH} RUN plenv install 5.18.2
少しやり方を変えてみた。
こっちのほうがいいのかな。