CentOS6 にはデフォルトで Python 2.6 がインストールされていますが、Python 2.7 が必要になったためインストールしたときのメモ。
一部の OS コマンドが Python 2.6 で書かれており、上書きインストールするとそれらのコマンドが使えなくなる恐れがあるため、ソースからビルドして別ディレクトリ (/opt/local) にインストールする。
Dockerfile
# # 2016/01/23 # CentOS 6.7 + epel,remi,rpmforge # Python 2.7 # FROM centos:6 MAINTAINER takaya030 # update yum RUN yum update -y && \ yum clean all # epel repo RUN yum install -y epel-release && \ yum clean all RUN sed -i -e "s/enabled *= *1/enabled=0/g" /etc/yum.repos.d/epel.repo # remi repo RUN yum install -y http://rpms.famillecollet.com/enterprise/remi-release-6.rpm && \ yum clean all RUN sed -i -e "s/enabled *= *1/enabled=0/g" /etc/yum.repos.d/remi.repo # rpmforge repo RUN yum install -y http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm && \ yum clean all RUN sed -i -e "s/enabled *= *1/enabled=0/g" /etc/yum.repos.d/rpmforge.repo # gcc, make, sshd, scp, sudo, unzip, tar, which RUN yum install -y gcc make openssh-server openssh-clients sudo tar unzip which && \ yum clean all # libraries RUN yum install -y bzip2-devel zlib-devel openssl-devel sqlite-devel ncurses-devel readline-devel tk-devel && \ yum clean all # python RUN curl -O https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz && \ tar xvzf Python-2.7.11.tgz && \ cd Python-2.7.11 && \ ./configure --prefix=/opt/local && \ make && make altinstall && \ cd .. && \ rm -r Python-2.7.11 Python-2.7.11.tgz # pip, easy_install RUN curl -kL https://bootstrap.pypa.io/get-pip.py | /opt/local/bin/python2.7 && \ /opt/local/bin/pip2.7 install distribute # initialize for ssh RUN sed -i '/pam_loginuid\.so/s/required/optional/' /etc/pam.d/sshd RUN /sbin/service sshd start RUN /sbin/service sshd stop # create login user RUN useradd -d /home/gae -m -s /bin/bash gae RUN echo gae:****gae | chpasswd RUN echo 'gae ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers # timezone RUN cp -p /usr/share/zoneinfo/Japan /etc/localtime # symbolic links RUN ln -s /opt/local/bin/python2.7 /usr/bin/python2.7 EXPOSE 22 CMD ["/usr/sbin/sshd","-D"]
イメージのビルド
docker@dev:~$ docker build -t takaya030/python27
イメージの確認
docker@dev:~$ docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE takaya030/python27 latest a8bce34c067e 3 days ago 693.3 MB centos 6 a005304e4e74 7 months ago 203.1 MB busybox latest 8c2e06607696 9 months ago 2.433 MB
動作確認
コンテナの起動
docker@dev:~$ docker run -d -p 2022:22 --name python27 takaya030/python27
コンテナへのログイン
$ ssh -p 2022 gae@192.168.99.100
python のバージョン確認
[gae@e17d37b01407 ~]$ python -V Python 2.6.6 [gae@e17d37b01407 ~]$ /opt/local/bin/python2.7 -V Python 2.7.11