私はUbuntuが好き
DockerでUbuntuを立ち上げ、pyenv環境まで構築したい(願望)。
背景
M1 Macが発売されて以降、MacOSでのpyenvを用いたpythonの環境構築がめんどくさい。 いっそのこと、Ubuntu上を立ち上げてめんどくさいことなしで、armでのPython環境を構築すれば一気に解決(名案!)。
ホストマシン
MacBook Air 2020, M1, 16GB OS: MacOS Big Sur 11.6
Docker version 20.10.6, build 370c289
Dockerfile
Ubuntuの20.04をOSとして環境構築する。私はUbuntuが好き。 どれほど好きかというと、今年研究室に来た新しいサーバー6台が全てubuntuになりました(単に先生がそうしてるだけかも)。 研究室に置いているゲーミングマシンもubuntu入れました。windowsにさよならバイバイ。 てかCent OSのプロジェクト終了するんだ。。
を参考に、
sudo apt-get update; sudo apt-get install make build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \ libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
を実行する。apt-getはubuntu18.04のコマンドなので、20.04ではapt
に書き換える.
FROM ubuntu:20.04 RUN mkdir -p usr/lib RUN apt update -y RUN apt install -y sudo RUN apt install -y tzdata RUN apt install -y build-essential RUN sudo apt update; sudo apt install make build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \ libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev # setting user ARG USER_NAME ARG GROUP_NAME ARG UID ARG GID ARG PASSWORD ENV HOME /home/$USER_NAME ENV PYENV_ROOT $HOME/.pyenv ENV PATH $PYENV_ROOT/bin:$PATH # add sudo to user RUN groupadd --gid ${GID} ${GROUP_NAME} && \ useradd -m -s /bin/bash -u ${UID} --gid ${GID} -G sudo ${USER_NAME} && \ echo ${USER_NAME}:${PASSWORD} | chpasswd && \ echo "${USER_NAME} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers RUN git clone https://github.com/pyenv/pyenv.git ${HOME}/.pyenv RUN echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.profile RUN echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.profile RUN echo 'eval "$(pyenv init --path)"' >> ~/.profile RUN pyenv install -v 3.9.7 # switch root to user USER ${USER_NAME} WORKDIR /home/${USER_NAME}/ # copy local files into image COPY --chown=${USER_NAME}:${USER_NAME} . .
次回、Docker + CUDAの使い方。