課題
- IFCファイルをifcopenshellで操作したい
- pc内の環境を汚したくない(環境構築がめんどくさい)
以上の理由より、Dockerを使ったifcopenshellの環境構築を行いたいと考えた。しかし、検索してもそれらしい記事が見つからなかったため、備忘録として残す。
また今回の方法は、windows11、macos10.15(Catalina)において動作確認済み。
方法
事前準備
- docker desktopをインストールする
環境構築
任意のディレクトリ内にdocker-compose.ymlとDockerfileを作成する
docker-compose.yml
version: '3.8'
services:
ifc_os:
container_name: ifc-os
build:
context: .
dockerfile: ./Dockerfile
volumes:
- ./:/code
ports:
- "8000:8000"
tty: true
Dockerfile
FROM continuumio/miniconda3
ENV APP_PATH=/code \
PYTHONPATH=.
# 開発物のソースコードはcodeデイレクトリ下に配置する
RUN conda create -n ifcos python==3.8
SHELL ["conda", "run", "-n", "ifcos", "/bin/bash", "-c"]
RUN conda install -c conda-forge -c oce -c dlr-sc -c ifcopenshell ifcopenshell
WORKDIR $APP_PATH
EXPOSE 8000
実行
cd {docker=compose.ymlとDockerfileがあるディレクトリに移動}
docker-compose up -d
以上でifcopenshellをインストールしたdocker環境が立ち上がる
課題点など
- conda環境を介した方法で構築したが、linux環境でifcopenshellをインストールできる方法があればそちらの方が良いかもしれない。