Docker for Macを使わないと決めたあなたへ(2)〜docker-machine上でhubot-slackコンテナを立ち上げてみる〜
2021-11-20
Docker for Macを使わないと決めたあなたへ(1)〜docker-machineコマンドが使えるまで〜 の続き
作ったdocker-machineで、hubotが使えるコンテナを立ち上げ、Slack Botを動かしてみる
最終的な全体像はこちら
Dockerfileの作成
※Slack tokenを発行していない人はこちらから発行してください
https://api.slack.com/apps
docker@dockerMachineTest:~$ vim Dockerfile docker@dockerMachineTest:~$ cat Dockerfile FROM jordan/hubot-slack:latest ENV HUBOT_SLACK_TOKEN='xoxb-【your slack token】' ADD scripts/ /home/hubot/scripts/ docker@dockerMachineTest:~$
Dockerfileで、ローカルの「scripts/」ディレクトリをコンテナの「/home/hubot/scripts/」にマウントすると指定しているので、
scriptsディレクトリと、配下に簡単にスクリプトを作成する
Botに「Hi Bot!」と話しかけたら「Hi!」と返してくれるスクリプト
docker@dockerMachineTest:~$ mkdir scripts docker@dockerMachineTest:~$ vim scripts/test.coffee docker@dockerMachineTest:~$ cat scripts/test.coffee module.exports = (robot) -> robot.respond /Hi bot!/i, (msg) -> msg.send "Hi!" docker@dockerMachineTest:~$
イメージをビルドして、コンテナを立ち上げる
docker@dockerMachineTest:~$ docker build -t hubot-slack-img . && docker run -d --name hubot-slack hubot-slack-img:latest ... ... Successfully built 106f80653d03 Successfully tagged hubot-slack-img:latest 961a9......e679f56e3e78a docker@dockerMachineTest:~$
コンテナの中に入り、「./bin/hubot」でhubotを起動する
docker@dockerMachineTest:~$ docker exec -i -t hubot-slack bash hubot@f6ef9e392864:~$ ./bin/hubot ... ...
Slack側でBotに話しかけると想定通りの返答をしてくれる
本当は、Botを立ち上げるまで自動化したかったけど、うまくいかなかったので一旦ここで終わり
以上。