Open5
Docker
Docker memo
-
以下の
Dockerfile
を作成してdocker build -t ubuntu-build-esssential .
を実行するとubuntu-build-esssential
という名前のimageが作成される. -
imageを作成したら
docker run -t -i ubuntu-build-esssential
で実行可能. -
ubuntu-build-esssential
という名前は適当に変えられる -
Ubuntu環境
-
rootでMPIを実行するとキレられるのでdockerというuserに切り替えている
-
wget
でGitHubから何かを落とそうとするとコケるのでca-certificates
も入れる -
sudo
するときのpasswordはdocker
Dockerfile
FROM ubuntu:latest
RUN apt-get update
RUN apt-get install -y --no-install-recommends \
apt-utils build-essential sudo git \
cmake wget ca-certificates ninja-build\
gfortran libopenblas-dev \
openmpi-bin libopenmpi-dev
RUN useradd -m docker && echo "docker:docker" | chpasswd && adduser docker sudo
USER docker
# Set up the working directory
WORKDIR /work
# Define an entrypoint to bash for convenience
ENTRYPOINT ["/bin/bash"]
docker-composeを使う場合
Docker engineは起動しておくこと
docker-compose.yml
services:
build-env:
build:
context: .
dockerfile: Dockerfile
volumes:
- ./work:/work
container_name: build-environment
stdin_open: true
tty: true
hostの./work
dirに/work
dirをマウントしている
imageの作成
docker-compose up --build -d
-d
ないとcurrent shellが返ってこない
shellの実行
docker-compose exec build-env /bin/bash