Docker for Macを使わないと決めたあなたへ(2)〜docker-machine上でhubot-slackコンテナを立ち上げてみる〜

公開日:2021-11-20 更新日:2021-11-20

Docker Mac Slack

t f B! P L
20211120_docker-machine_

Docker for Macを使わないと決めたあなたへ(1)〜docker-machineコマンドが使えるまで〜 の続き

作ったdocker-machineで、hubotが使えるコンテナを立ち上げ、Slack Botを動かしてみる


最終的な全体像はこちら
20211120_docker-machine_5


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に話しかけると想定通りの返答をしてくれる
20211120_docker-machine_

本当は、Botを立ち上げるまで自動化したかったけど、うまくいかなかったので一旦ここで終わり

以上。

About me

ゆかき(♀)

アラサー駆け出しインフラエンジニア
ど文系営業からSEへ転身し日々奮闘している人

一児の母

#AP応用情報 #HTML5Lv1 #第2種電気工事士 #DCP(Data Center Practitioner) #LPIC Lv2 #VCP6.5 #CCNP #Oracle Bronze #HTMLv5 #TOEIC860

Media

こちらのイベントで記事紹介いただいていた、嬉しい。

Line stamp

僭越ながら販売中

Green cat & Orange cat

Amazon