- portlar
- 0.0.0.0:8080 → 8000/tcp
- healthcheck
- yo'q
- restart
- no (standart)
- user
- root (standart)
- volume
- ./data → /data
- tarmoq
- default
~/labs / konteynerni-qulflashback
Asoslar14/15
Konteynerni qulflash
qiyin
Bu konteyner buzilsa, hujumchi qo'liga tayyor imkoniyatlar to'plami tushadi: root, barcha yadro huquqlari va yoziladigan fayl tizimi.
Vazifa — uni qulflang:
privilegedni olib tashlang.- Root bo'lmagan foydalanuvchida ishlasin (
user: "1000:1000"). - Ildiz fayl tizimi faqat o'qish uchun bo'lsin (
read_only: true). - Ilovaga vaqtinchalik papka kerak —
/tmpnitmpfssifatida bering. - Barcha yadro huquqlarini tashlang:
cap_drop: ["ALL"]. - Doimiy ma'lumot host papkasiga emas, nomlangan
appdatavolume'iga/datayo'liga yozilsin.
Eng kam huquq tamoyili: konteyner ishlashi uchun zarur bo'lmagan hech narsa unga berilmasligi kerak.
…
docker-compose.yml
12345678910
services: api: image: python:3.13-slim command: python -m http.server 8000 privileged: true ports: - "8080:8000" volumes: - ./data:/data
! 2 ta muammo —
Tab ichkariga · Shift+Tab tashqariga⌘/Ctrl+Enter tekshirishEsc maydondan chiqish
1 servis · 0 tarmoq · 0 volume · 2 ta muammo
Muammolar 2
- lab siyosati rad etadi
api.privileged— kengaytirilgan huquqlab siyosati: privileged/cap_add/devices ishlatilmaydi - lab siyosati rad etadi
./data— host papkasi ulanmoqdalab siyosati: faqat nomlangan volume'lar
Servislar 1
Ishga tushish tartibi
- 1apihech kimni kutmaydi
learner@lab: ~/app
learner@lab:~/app$
help — buyruqlar ro'yxati. Yuqori/pastki strelkalar — tarix, Tab — to'ldirish (bo'sh qatorda keyingi elementga o'tadi), Ctrl+C — to'xtatish.
hisobot shu yerda chiqadi
tekshirish uchun avval
tekshirish uchun avval