株のシステムトレードをしよう - 1から始める株自動取引システムの作り方

株式をコンピュータに売買させる仕組みを少しずつ作っていきます。できあがってから公開ではなく、書いたら途中でも記事として即掲載して、後から固定ページにして体裁を整える方式で進めていきます。

CSV取得処理をDockerイメージ化して再利用・自動化 その1

Docker

まだ途中だが、さくらのVPSで提供されている Windows Server 2016にて、下記を自動で行う Docker イメージを作ろうとしている。

  • WebDAVディレクトリのマウント
  • 共有フォルダ一括同期ツールによる、ファイル同期
  • ボリューム共有による、コンテナとホストのファイル同期

Docker イメージからコンテナを作れば、スケジューラに docker run を自動実行するようにさえ設定すれば、実行したタイミングで最新のものに同期してくれるのがメリットである。

また、冪等性も保たれているため、ID&パスワードをそれぞれの個人のものに変更すれば、誰でも簡単に実行環境を再現できるというメリットもある。

デメリットとしては、Windows Server か、 Windows 10 Pro 以上(Homeは不可)でないと動かない点がある。

下記はその Dockerfile である。必要なVBScript等を ./files ディレクトリに入れているが、その掲載はここでは省略し、後続の記事にて紹介する。

FROM mcr.microsoft.com/windows/servercore:1607
LABEL maintainer="dogwood008"

ARG tmp_path="C:\windows\Temp"
ARG work_dir="C:\work_dir"
ARG files_dir="${work_dir}\files"
ARG csv_data_dir="${work_dir}\kabu-plus-data"
ARG init_script_name="init.ps1"
ARG path_to_init_script="${files_dir}\\${init_script_name}"
ARG sync_script_name="sync_CSVEX-WebDAV.bat"
ARG path_to_sync_script="${files_dir}\\${sync_script_name}"
ARG path_to_powershell="C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"



ENV PATH_TO_INIT_SCRIPT ${path_to_init_script}
ENV PATH_TO_WORK_DIR ${work_dir}
ENV PATH_TO_FILES_DIR ${files_dir}
ENV PATH_TO_POWERSHELL ${path_to_powershell}
ENV PATH_TO_SYNC_SCRIPT ${path_to_sync_script}
ENV DROPBOX_TARGET_DIR ${csv_data_dir}


COPY files ${files_dir}
RUN %PATH_TO_POWERSHELL% -File %PATH_TO_INIT_SCRIPT% -PathToFilesDir %PATH_TO_FILES_DIR% 


CMD cmd /c "cscript %PATH_TO_SYNC_SCRIPT%"

(C) 2020 dogwood008 禁無断転載 不許複製 Reprinting, reproducing are prohibited.