אני רואה מידי פעם תמונות דוקר שנותנות מענה לצורך מסוים (לדוגמא התמונה המצוינת Gotenberg למסמכי PDF), על ידי שליחת תוכן לפורט מסוים, והם מחזירים את התשובה הרצויה (בדוגמא של Gotenberg, שולחים מסמך וורד לדוגמא לכתובת עם הפורט של התמונת דוקר וזה מחזיר מסמך PDF).
יש לי צורך להכין כזה דבר ורציתי לשאול איך לגשת לזה.
יש יישום ווינדוס מסוים שרץ בשורת פקודה ומחזיר קובץ לפי הפרמטרים ששולחים לו.
הכנתי תמונה עם WINE (שנותן להריץ וינדוס בלינוקס) ויש לי פונקציה מוכנה שכשמריצים אותה זה נותן בדיוק את התוצאה הרצויה וברוך השם זה עובד נהדר.
עכשיו אני רוצה לעשות מזה API, שכשייגשו לפורט של התמונה וישלחו את הפרמטר, זה יחזיר את התוצאה.
אני יודע להתקין בתמונה APACHE וPHP, ולהכין סקריפט שמקבל את הנתונים שנשלחים בGET ומבצע EXEC ומייצר את הקובץ הרצוי ומחזיר אותו, אבל אני מניח שיש דרכים יותר נורמליות לעשות את זה, אני טועה?
עריכה: בעצם מספיק CGI עם סקריפט BASH או משהו כזה, אין שם דברים שצריכים תיכנות מסובך.
הפקודה הסופית שאני משתמש היא
docker exec -it docker123 wine /path/to/software.exe /PARAMETER id=1 /EXPORT exported_file.txt
ומה שאני רוצה זה לשלוח את הפרמטר (1 בדוגמא) בGET, ושיחזיר כתגובה את הקובץ שהוא מייצא. יש כמובן עוד בעייה שצריך להתמודד איתה, זה שהיישום לא מחזיר ישירות תגובה אלא כותב אותה על הדיסק, וצריך אחרי זה לשלוף הקובץ הזה ולהגיש אותו כתגובה.
תודה