概要
先日作ったSlackBotを定期実行したいため、Dockerでnodejsの環境を構築します。
前提条件
$ docker --version
Docker version 20.10.2, build 2291f61
ジョブフローを平日18:00に実行する設定済み
job.js
const schedule = require("node-schedule");
schedule.scheduleJob("00 18 * * 1-5", run);
Dockerイメージを作成する
1、プロジェクトフォルダー直下にDockerfile
を作成して、以下のコードを貼り付ける
FROM node:12.20.1
WORKDIR /app
COPY . .
RUN npm install
ENV TZ Asia/Tokyo
EXPOSE 8888
CMD ["node" , "job.js" ]
2、.dockerignore
ファイルを設置してnode_modulesなどを転送対象から除外する
node_modules/
.gitignore
Dockerfile
package-lock.json
3、Dockerイメージのビルド
実行コマンド(magical-yuanxiao
はイメージ名)
$ docker build -t magical-yuanxiao .
ログ
Successfully built aebb1184bf44
Successfully tagged magical-yuanxiao:latest
コンテナを起動状態で作成する
実行コマンド(magical-yuanxiao
は先作ったイメージ)
$ docker run -p 8888:8888 magical-yuanxiao
最後に、docker ps -a
コマンドでコンテナの稼働状況を確認します。
自動的に実行される
参照サイト