어제 Telegram API 와 Bitfront API 를 이용해서 Python 으로 현재 가격으로 알려주는 Telegram Bot Script 를 만들었다.
수동으로 실행시켜주면 한번 돌아가는 Script 였고, 오늘 추가한 기능은 아래와 같다.
해당 스크립트를 dockerize 하였고, AWS EC2 free tier instance 에 docker 로 띄웠다. dockerize 를 하는데 이 가벼운 스크립트가 350Mb 를 상회하는 것을 발견해서 가장 가벼운 python3 base image 로 교체해 용량을 19.02Mb 로 줄였다.
현재를 docker image tag 기준 v1.0.0 으로 따서 돌아가는 중.
https://github.com/Junyong-Suh/bitfront-telegram-bot/tree/v1.2.0
가장 쉽게 쓸 수 있는 상태로 만드는 방법
Instance: Amazon Linux AMI 2018.03.0 (HVM), SSD Volume Type - ami-021bb9f371690f97a
Setup 과정에서 Security Group 에 SSH 는 우리 집 IP 를 열어준다.
SSH 로는 .pem file 사용해서 직접 접근 ssh ec2-user@YOUR_PUBLIC_IP -i YOUR_PATH_TO/YOUR_PEM_FILE.pem
아래와 같이 docker 만 살포시 깔고 실행
sudo yum update -y
sudo yum install git -y
sudo yum install docker -y
sudo docker service start
sudo docker login
sudo docker run -d YOUR_DOCKER_HUB_ID/YOUR_IMAGE:YOUR_TAG
The smallest Docker image with Python 3.7 (~57MB): https://hub.docker.com/r/frolvlad/alpine-python3/
Dockerize your Python Application: https://runnable.com/docker/python/dockerize-your-python-application
Running Docker on EC2: https://hackernoon.com/running-docker-on-aws-ec2-83a14b780c56
Build a Docker Image and Push It To Docker Hub: http://blog.shippable.com/build-a-docker-image-and-push-it-to-docker-hub
Handy Docker commands (KR): https://rampart81.github.io/post/dockerfile_instructions/