ท่า บ้าน ทั่ว ไป ที่ เจอ กัน (Nestjs)
FROM node:14-slim WORKDIR /usr/src/app COPY package*.json ./ # If you add a package-lock.json speed your build by switching to 'npm ci'. RUN npm ci --only=production RUN npm i -g @nestjs/cli # Copy local code to the container image. COPY . . # Display directory structure RUN ls -l # Expose API port EXPOSE 3000 # Run the web service on container startup. CMD [ "npm", "start" ]
[Dockerfiles] -> build -> [docker image] -> run -> [Контейнер]
Строить
docker build -t {image-tag} {path}
Бежать
docker run -p {out_port}:{in_port} -v {out_path}:{in_path} {img_tag} #example docker run -p 8888:8888 -v pwd:/work docker-example
- -p คือ การ карта порт จาก ใน ใน มา มา ข้าง นอก นอก
- -v คือ การ Карта рабочего каталога ข้าง กับ ข้าง นอก เพื่อ ที่ เวลา เรา แก้ไข ไฟล์ ที่ เครื่อง เรา มัน จะ เซฟ กลับ เข้า ไป ที่ ใน ใน ใน ด้วย ด้วย ด้วย ด้วย ด้วย ที่ ที่ ที่ ใน ใน ด้วย
Варианты เพิ่มเติม
- — intrypoint = : กำหนด intrypoint เอง ส่วน ใน ใน ใน Dockerfiles
- — e : กำหนด Переменные среды ด้าน ใน Контейнер
- — D : สั่ง รัน รัน Контейнер แบบ Отдельный หรือ คือ เป็น фоновый процесс
อธิบาย เพิ่ม
โดย ปกติ ปกติ ที่ ถูก เปิด ไว้ ภาย ใน ใน ใน ใน นั้น จะ ไม่ สามารถ ใช้ งาน บน บน บน บน ซึ่ง ที่ จะ ใช้ งาน ได้ นั้น ต้อง ทำ Опубликовать порт ที่ ก่อน ตั้ง แต่ การ สร้าง สร้าง สร้าง ขึ้น มา มา มา การ การ สร้าง สร้าง ขึ้น มา มา มา การ การ การ การ ขึ้น
สรุป คำ สั่ง ใน Docker File
От เลือก Базовое изображение (тянуть มาา จาก dockerhub)
Запустить выполнить команду
CMD Выполнить команду แต่ ได้ แค่ ครั้งบ เดียว ใน Файл ถ้า มี มาก กว่า จะ ใช้ อัน สุด ท้าย หรือ ใช้ เป็น Параметр по умолчанию ให้ ТОЧКА ВХОДА
Ярлык ใส่ Метаданные ให้ Изображение
Разоблачить กำหนด ให้ ให้ รอ รอ รับ запрос ตาม порт ที่ ใช้ คู่ กับ -p ตอน ใช้ Docker Run
Env กำหนด ตัว แปร среда ให้ ตอน ทำ Изображение และ Контейнер
Добавить Копировать файл เข้า Изображение
Копия Копировать файл เข้า Изображение ต่าง กับ Добавить ตรง ไฟล์ ต้น ฉบับ ฉบับ ได้ เฉพาะ локальный เป็น Удаленный URL ไม่ ได้
Intrypoint คำสั่งที่จะให้ run หลังจากstart container
Том กำหนด Point ให้ ให้ изображение
Пользователь กำนหด Пользователь ที่ จะ ใช้ Запуск คำ สั่ง Запустите CMD ТОЧКА ВХОДА
Workdir กำหนด Рабочий каталог สำหรับ Запустите cmd intrypoint copy add add
Arg กำหนด ตัว แปร สำหรับ ตอน ตอน строительство
Onbuild ใช้ สำหรับ ให้ ให้ คำ สั่ง แต่ ให้ รอ รอ รอ รอ เพื่อ ทำ งาน ต่อ กรณี ที่ ต้อง รอ ให้ ให้ ตัว อื่น ก่อน ก่อน ก่อน ก่อน ก่อน ก่อน ก่อน
StopSignal สั่ง ให้ หยุด โดย ใช้ Системный сигнал вызова системы
Оболочка เปลี่ยน ไป ใช้ оболочка ที่ กำหนด
คำ สั่ง ใช้ บ่อย ๆ
- Docker RM : ใช้ ลบ Контейнер
- Docker RMI : ใช้ ลบ Изображение/тег изображения
- Docker Start : Start Container ที่ สร้าง มา แล้ว แต่ ไม่ ได้ อยู่ ใน สถานะ Запуск
- Docker Stop : ใช้ หยุด การ งาน ของ ของ Контейнер ที่ Запуск อยู่
- Docker PS : ดู ดู ทั้งหมด ที่ Запуск อยู่
- Docker PS -a **: ดู Контейнер ทั้งหมด เคย ถูก สร้าง ขึ้น มา มา มา มา
- Docker Exec -it $ {container_id} bash : ใช้ เพื่อ ไป ใน ใน Контейнер ->
- Docker rmi -f $ (Docker Images -a -q) Удалить все изображения,
- Docker RM $ (Docker ps -a -q) Удалите все Contanier ссылка
Docker Compose
แก้ ปัญหา Строительство Dockerfile หลาย ๆ файл
คำ สั่ง ดู จะ คล้าย กัน กัน
Docker-Compose Up начать или перезапустить все услуги, определенные в Docker-Compose.yml
Docker-Compose Run Команда предназначена для выполнения задач «одноразовый» или «adhoc». Требуется название услуги, которое вы хотите запустить, и запускает контейнеры только для услуг, от которых зависит сервис.
Docker-Compose Start Начинает существующие контейнеры для обслуживания.
Док
https://www.jittagornp.me/blog/install-docker-compose-on-ubuntu-18.40/
คำ สั่ง เรา มัก จะ หลง กลไก การ ทำ งาน ของ มัน มัน
- Docker-сочинять แต่ Начните
- Docker-Compose Up-Build Rebuild и Start
- Docker-Compose Build Rebuild เฉย ๆ ๆ ๆ
เรื่อง ที่ เพิ่ง เข้าใจ เข้าใจ
แบบ เข้าใจ ๆ ก่อน ก่อน
- CMD คือ Запустить OS แล้ว งาน เลย เลย เลย เลย
- входная точка คือ เหมือน Краткосрочный คำ สั่ง
ว่า กัน ด้วย เรื่อง Форма оболочки и исполнения
เกี่ยว กับ cmd и точка входа
оболочка и исполнитель คือ อะไร?
เรื่อง ที่ จะ สับสน สับสน
Порт ใช้ เพื่อ Сопоставление хост -сервера и контейнер Docker
Пример 8080: 80 80 в контейнере до порта 8080 на хосте Docker
Разоблачить ใช้ เฉพาะ กำหนด Запуск приложения порта
ที่ มา ของ ปัญหา
- รูปแรก ลง จะ อยู่ ใน os ก้อน เดียว версия จะ ชน ยับ ๆ ๆ ๆ ๆ ๆ ๆ ๆ
ใช้ vm hypervisor ตัว จะ เป็น ตัว จำลอง การ ทำ ให้ ให้ vm Предоставьте аппаратное обеспечение ไป ใน ใน ใน ได้ เข้า ไป ลง ลง ให้ มัน ทำ ให้ เปลือง ทรัพยากร เสีย เวลา แล้ว ถึง จะ ลง Приложение ที่ ต้องการ ได้ ได้ ได้ ได้ ได้
Агент докера контейнера จะ การ การ Пользовательский пространство แบ่ง กล่อง ออก มา อย่าง ชัดเจน เช่น เช่น разрешение โดย ไม่ กระทบ กระทบ ตัว ตัว จริง การ Отображающая сеть
Оригинал: «https://dev.to/nantipatsoften/docker-1h4k»