Chia sẻ - Chạy, triển khai web app resource sử dụng docker + tomcat trên railway.app | VN-Zoom | Cộng đồng Chia Sẻ Kiến Thức Công Nghệ và Phần Mềm Máy Tính

Adblocker detected! Please consider reading this notice.

We've detected that you are using AdBlock Plus or some other adblocking software which is preventing the page from fully loading.

We need money to operate the site, and almost all of it comes from our online advertising.

If possible, please support us by clicking on the advertisements.

Please add vn-z.vn to your ad blocking whitelist or disable your adblocking software.

×

Chia sẻ Chạy, triển khai web app resource sử dụng docker + tomcat trên railway.app

transistor

Gà con
Xin chào mọi người, vì diễn đàn khá ít người truy cập vào đây nên mình mới mạnh dạn đăng bài mục đích để lưu trữ cho riêng mình khi cần và chia sẻ cho những ai chưa biết. Sai sót chỗ nào thì mong được góp ý.
Nói sơ qua về mục đích: Khi mới đóng gói ứng dụng web back end trong Java với framework là Spring Boot thì tệp được đóng gói sẽ có phần mở rộng là "*.war", chúng ta có thể sử dụng xampp để chạy trực tiếp package đó. Nhưng để truy cập từ một nơi khác thì không thể, vậy nên bài viết này ra đời ;)

Những thứ cần có:
- Tài khoản github
- Internet

Bắt đầu thôi:

- Đăng nhập https://railway.app/ sử dụng tài khoản github.
- Tạo một thư mục mới chứa package cần triển khai, bạn có thể đổi tên package cho bớt phức tạp. Sau đó tạo một file mới với tên là "Dockerfile" không có dấu ngoặc nháy ("). Sử dụng VSCode hoặc notepad để chỉnh sửa file "Dockerfile" với nội dung:
Mã:
#Start from here
FROM tomcat:8.5.85-jdk17-temurin-focal
RUN rm -rf /usr/local/tomcat/webapps/*
COPY ./api.war /usr/local/tomcat/webapps/
#End

- Giải thích code một chút:
+ FROM tomcat:8.5.85-jdk17-temurin-focal : đoạn này khi chạy nó sẽ pull về tomcat phiên bản 8.5.85, nếu code của bạn chạy trên tomcat bản nào thì thay đổi theo bản đó, bạn có thể tìm thêm ở đây: https://hub.docker.com/_/tomcat
+ RUN rm -rf /usr/local/tomcat/webapps/* : Đoạn này sẽ xóa sạch những gì đang có ở trong đường dẫn đến thư mục webapps, nếu không cần xóa thì có thể bỏ qua dòng này
+ COPY ./api.war /usr/local/tomcat/webapps/ : Đoạn này sẽ sao chép package vào thư mục webapps của tomcat khi chạy, ở đây mình để package tên là api.war, nếu package của bạn tên khác thì hãy sửa cho đúng với tên package của bạn.

1675612027019.png
1675612060201.png


- Tiếp theo tạo một repository trên github và push thư mục vừa tạo lên( Lưu ý repository phải để public).

- Quay trở lại Railway.app, chọn new project, chọn Deploy from github repo và chọn và Repository bạn mới push ở trên

1675612494820.png
1675612576170.png



- Tiếp tục rồi vào cài đặt của nó, rồi chọn Variables, thêm một variable mới là PORT 8080, nếu không có cái này thì app sẽ deploy lỗi.

1675612789604.png


- Chuyển qua phần Settings và tìm đến Domains rồi chọn Custom Domain, đó sẽ là đường dẫn tới API của bạn. Giờ bạn có thể truy cập API theo đường dẫn đó và path sẽ là "url của bạn/tên package mà bạn đặt". Ví dụ của mình là "https://my.up.railway.app/api"

- Vậy là xong, hy vọng sẽ giúp được ai cần {cheers}

- Theo mình được biết thì cái thằng Railway.app này sẽ cho người dùng miễn phí 500h uptime và 5$ mỗi tháng( cái 5$ thì không biết có đúng không {beat_brick}, tại thấy bọn nó ghi như thế).
Đối với những dự án nhỏ hoặc test app thì như thế là quá ổn rồi {boss}{boss}{boss}
 


Top