Docker
Docker
تطبيق
~20 دقيقة
Docker — حاويات Go
Go من أفضل اللغات لـ Docker — لأنها تُنتج ملفاً تنفيذياً واحداً بدون اعتماديات. هذا يعني صور Docker صغيرة جداً وآمنة.
لماذا Go + Docker = ❤️
- ملف تنفيذي واحد (static binary) — لا تحتاج runtime
- يمكن استخدام صورة
scratch(فارغة!) — أصغر صورة ممكنة - البناء سريع مع cache الوحدات
- Cross-compilation مدمج
Dockerfile بسيط
main.go
Output:
شرح البناء المتعدد المراحل
main.go
Output:
Docker Compose
main.go
Output:
.dockerignore
.git
.gitignore
README.md
Makefile
*.md
vendor/
tmp/
.env
أفضل ممارسات Docker + Go
main.go
Output:
إضافة مستخدم غير root
FROM scratch
# إضافة مستخدم — Add non-root user
COPY --from=builder /etc/passwd /etc/passwd
COPY --from=builder /app/server /server
USER nobody
CMD ["/server"]
تحدي — Challenge
اطبع ملخص استراتيجية Docker المثالية لـ Go