- vừa được xem lúc

Tạo ứng dụng giao tiếp với Bot Telegram bằng Node.js + Docker và deploy lên EC2 AWS (Phần 2)

0 0 28

Người đăng: Kha Leo

Theo Viblo Asia

Nối tiếp phần 1 - (Hướng dẫn kết nối với Bot Telegram bằng Node.js), mình sẽ đi tiếp phần còn lại là chạy ứng dụng bằng Docker và Deploy lên EC2 AWS

III. Run Docker

  1. Cài Docker lên máy:
  2. Start Docker trên máy bạn
  3. Tạo file Dockerfile ở root project và thêm vào đoạn code sau:
FROM node:16 WORKDIR /usr/src/app COPY package*.json ./ RUN npm install COPY . . EXPOSE 1234 CMD [ "node", "index.js" ]
  1. Run câu lệnh: docker build -t bot-tele-sample . Bạn đợi đến khi Docker pull image về hoàn tất image.png

  2. Kiểm tra images đã được tạo bằng cách chạy câu lệnh: docker images image.png

  3. Run image đã được tạo: docker run bot-tele-sample

  4. Sau khi run thành công, bạn kiểm tra container đã được tạo bằng cách: docker ps image.png

  5. Project đã được chạy bằng Docker thành công, bây giờ bạn vào chat với Bot sẽ nhận được phản hồi: image.png

Tiếp theo chúng ta sẽ deploy ứng dụng lên EC2 nhé

IV. Deploy

  1. Khởi tạo Instance EC2 (nếu chưa có tài khoản AWS bạn hãy đăng kí trước nhé: hướng dẫn tại đây)

  2. Sau khi đăng nhập AWS, bạn tìm kiếm EC2 ở ô tìm kiếm image.png

  3. Chọn Launch Instance

  4. Chọn option: Ubuntu 18.04 free tier image.png

  5. Chọn: 'Review and Launch' ở step 2 luôn image.png

  6. Chọn: Launch image.png

  7. AWS sẽ show key pair option cho bạn, ta sẽ dùng key này để access vào instance sau này, bạn có thể dùng key đã có, hoặc tạo mới key. Ở đây mình dùng lại key vì mình đã tạo trước đó. Chọn Launch Instance => Chọn View Instance image.png

  8. Ở AWS EC2 console, chọn Elastic IPs -> Allocate Elastic IP address -> Allocate image.png

  9. Chọn IP vừa được tạo -> Associate Elastic IP address -> link với instance bạn vừa tạo -> Click Associate image.png

  10. Tiếp theo chọn Security Groups ở AWS EC2 Console -> Create Security Group

    • Nhập tên ở Security group name image.png
    • Thêm Inbounds/Outbound rules, ở đây chúng ta sẽ run project ở port 1234 (config trong Dockerfile) image.png image.png
  11. Tiếp theo vào instance đã tạo, chọn change security groups image.png

  12. Save lại image.png

  13. Mở terminal lên, run câu lệnh: ssh -i đường dẫn tới key pair _@.compublic ip của bạn -> chọn yes image.png

  14. Run cd /home/ubuntu

  15. Clone project đã được public lên git (các bạn public source lên project lên github trước nhé): git clone https://github.com/khaaleoo/bot-tele-sample.git

  16. Tiếp theo chúng ta sẽ cài docker ở EC2:

  • sudo apt update
  • sudo apt install docker.io
  • sudo snap install docker
  • Kiểm tra docker được cài đặt thành công: docker --version
  1. Run docker
  • cd bot-tele-sample và build docker sudo docker build -t bot-tele-sample .
  • Tới đây thì như phần III mình đã để cập ở phía trên. Chỉ cần chạy câu lệnh sudo docker run bot-tele-sample

Thành công, bây giờ bạn chat với Bot để kiểm tra mọi thứ vẫn work đúng như mong đợi nhé!


Mình đã hướng dẫn xong việc tạo project cơ bản tương tác với Bot telegram và deploy lên AWS EC2.
Hẹn gặp mọi người ở các series khác ^^


Mục tìm kiếm đồng đội

Hiện tại thì bên công ty mình, là Hoàng Phúc International, với hơn 30 năm kinh nghiệm trong lĩnh vực thời trang. Và là trang thương mại điện tử về thời trang lớn nhất Việt Nam. Team công nghệ của HPI đang tìm kiếm đồng đội cho các vị trí như:


Với mục tiêu trong vòng 5 năm tới về mảng công nghệ là:
  • Sẽ có trang web nằm trong top 10 trang web nhanh nhất VN với 20 triệu lượt truy cập mỗi tháng.
  • 5 triệu loyal customers và có hơn 10 triệu transactions mỗi năm.

Team đang xây dựng một hệ thống rất lớn với rất nhiều vấn để cần giải quyết, và sẽ có rất nhiều bài toàn thú vị cho các bạn. Nếu các bạn có hứng thú trong việc xây dựng một hệ thống lớn, linh hoạt, dễ dàng mở rộng, và performance cao với kiến trúc microservices thì hãy tham gia với tụi mình.

Nếu các bạn quan tâm hãy gửi CV ở trong trang tuyển dụng của Hoàng Phúc International hoặc qua email [email protected] của mình nha .

Cảm ơn các bạn đã đọc.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Cài đặt WSL / WSL2 trên Windows 10 để code như trên Ubuntu

Sau vài ba năm mình chuyển qua code trên Ubuntu thì thật không thể phủ nhận rằng mình đã yêu em nó. Cá nhân mình sử dụng Ubuntu để code web thì thật là tuyệt vời.

0 0 396

- vừa được xem lúc

Hướng dẫn làm bot Facebook messenger cho tài khoản cá nhân

Giới thiệu. Trong bài viết trước thì mình có hướng dẫn các bạn làm chatbot facebook messenger cho fanpage. Hôm nay mình sẽ hướng dẫn các bạn tạo chatbot cho một tài khoản facebook cá nhân. Chuẩn bị.

0 0 195

- vừa được xem lúc

Crawl website sử dụng Node.js và Puppeteer - phần 2

trong phần 1 mình đã giới thiệu về puppeteer và tạo được 1 project cùng một số file đầu tiên để các bạn có thể crawl dữ liệu từ một trang web bất kỳ. Bài này mình sẽ tiếp nối bài viết trước để hoàn thiện seri này.

0 0 73

- vừa được xem lúc

Điều React luôn giữ kín trong tim

■ Mở đầu. Ngồi viết bài khi đang nghĩ vu vơ chuyện con gà hay quả trứng có trước, mình phân vân chưa biết sẽ chọn chủ đề gì để chúng ta có thể cùng nhau bàn luận.

0 0 59

- vừa được xem lúc

Gửi Mail với Nodejs và AWS SES

AWS SES. AWS SES là gì.

0 0 83

- vừa được xem lúc

Crawl website sử dụng Node.js và Puppeteer - phần 1

Bài viết này mình sẽ giới thiệu cho các bạn craw dữ liệu của web site sử dụng nodejs và Puppeteer. .

0 0 164