記事の目的
仕事にてUbuntu16.04用に作成していたcmakeを使用するDockerfileが使用できず、色々と修正したのでそれの備忘録もかねて記載する。
前提環境
Docker Image
10.1-cudnn7-devel-ubuntu18.04
Ubuntu18.04用のDocker Image使用時の注意点
Ubuntu 18.04用のDocker Imageを使用して、Dockerfileを回す際にタイムゾーンが聞かれることがある。
その際には以下の文字列をDockerfileの上のほうに記載をすることでタイムゾーンが聞かれることがなくなる。
Dockerfile
ENV TZ=Asia
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
cmakeインストール時の注意
Ubuntu18.04、CUDA10系でcmakeを使用する際は、apt-get install cmake
をしてしまうと3.10.Xがダウンロードされてしまい、
cmake時に CUDA_cublas_device_LIBRARY
でエラーが吐かれてしまうので、以下の方法で回避する。
- CMakeダウンロードページからshファイルのリンクをコピー
- Dockerfileに以下を記載(今回はcmake-3.14.7-Linux-x86_64.shを使用)
Dockerfile
RUN wget https://github.com/Kitware/CMake/releases/download/v3.14.7/cmake-3.14.7-Linux-x86_64.sh && chmod +x cmake-3.14.7-Linux-x86_64.sh
RUN echo y | ./cmake-3.14.7-Linux-x86_64.sh
RUN mv cmake-3.14.7-Linux-x86_64 /opt && echo y | ln -s /opt/cmake-3.14.7-Linux-x86_64/bin/* /usr/bin