[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-1-1-all-docker-commands-dev-used-90-percent-all--*":3,"academy-blog-translations-i6uypvwl5hxr5ic":81},{"data":4,"page":80,"perPage":80,"totalItems":80,"totalPages":80},[5],{"alt":6,"collectionId":7,"collectionName":8,"content":9,"cover_image":10,"cover_image_path":11,"created":12,"created_by":13,"expand":14,"id":75,"keywords":76,"locale":49,"published_at":77,"scheduled_at":13,"school_blog":71,"short_description":78,"status":69,"title":6,"updated":79,"updated_by":13,"slug":72,"views":74},"รวมคำสั่ง Docker ที่ใช้จริง 90% ของชีวิต Dev","sclblg987654321","school_blog_translations","\u003Ch2>ทำไม Developer ทุกคนควรใช้ Docker\u003C\u002Fh2>\u003Cp>ในยุคที่การพัฒนาโปรแกรมเปลี่ยนผ่านสู่แนวทาง DevOps และ Microservices อย่างเต็มรูปแบบ เครื่องมืออย่าง Docker จึงกลายเป็นอาวุธสำคัญของนักพัฒนา ด้วยความสามารถในการจำลองสภาพแวดล้อมให้เหมือนกันทุกเครื่อง ทุกระบบปฏิบัติการ ลดปัญหา “รันบนเครื่องเราได้ แต่ Production พัง” ได้อย่างชะงัด\u003C\u002Fp>\u003Cp>บทความนี้จะรวมคำสั่ง Docker ที่ใช้จริงในชีวิตประจำวันของนักพัฒนา ไม่ว่าจะเป็น Backend, Frontend, Full Stack หรือแม้แต่ QA Engineer ก็สามารถนำไปใช้ได้ พร้อมเสริมด้วยแนวคิดที่เกี่ยวข้อง เช่น การจัดการ Image, Container, Volume, และ Network รวมถึงเทคนิคเพิ่มประสิทธิภาพ Dev Workflow ให้เร็วขึ้นหลายเท่า\u003C\u002Fp>\u003Cimg src=\"https:\u002F\u002Fimagedelivery.net\u002Fg5Z0xlCQah-oO61sLqaEUA\u002Ff0080b57-6ccf-434a-f7f7-da6d4c3ea300\u002Ftwsme\" alt=\"Template Blog_11zon.webp\" height=\"768\" style=\"display: block; margin: 0px auto;\">\u003Ch2>หัวข้อที่ 1: พื้นฐานคำสั่ง Docker ที่ต้องใช้ทุกวัน\u003C\u002Fh2>\u003Ch3>1. รัน Container จาก Image\u003C\u002Fh3>\u003Cpre>\u003Ccode class=\"language-plaintext\">docker run -d -p 3000:3000 --name myapp node:18\u003C\u002Fcode>\u003C\u002Fpre>\u003Cul>\u003Cli>\u003Cp>\u003Ccode>-d\u003C\u002Fcode>: รันแบบ detached (เบื้องหลัง)\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>\u003Ccode>-p\u003C\u002Fcode>: แมปพอร์ตเครื่องจริงกับใน container\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>\u003Ccode>--name\u003C\u002Fcode>: ตั้งชื่อ container เพื่อเรียกใช้ง่าย\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Ch3>2. ดู container ที่กำลังรันอยู่\u003C\u002Fh3>\u003Cpre>\u003Ccode class=\"language-plaintext\">docker ps\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3>3. ดู container ทั้งหมด (รวมที่หยุดแล้ว)\u003C\u002Fh3>\u003Cpre>\u003Ccode class=\"language-plaintext\">docker ps -a\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3>4. หยุด container\u003C\u002Fh3>\u003Cpre>\u003Ccode class=\"language-plaintext\">docker stop myapp\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3>5. ลบ container\u003C\u002Fh3>\u003Cpre>\u003Ccode class=\"language-plaintext\">docker rm myapp\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3>6. ดึง image จาก Docker Hub\u003C\u002Fh3>\u003Cpre>\u003Ccode class=\"language-plaintext\">docker pull nginx:latest\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3>7. ดู image ที่มีอยู่ในเครื่อง\u003C\u002Fh3>\u003Cpre>\u003Ccode class=\"language-plaintext\">docker images\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3>8. ลบ image ที่ไม่ใช้แล้ว\u003C\u002Fh3>\u003Cpre>\u003Ccode class=\"language-plaintext\">docker rmi nginx:latest\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch2>หัวข้อที่ 2: เทคนิค Docker สำหรับ Dev ตัวจริง\u003C\u002Fh2>\u003Ch3>1. Bind Mount: แก้โค้ดแบบ Real-time\u003C\u002Fh3>\u003Cpre>\u003Ccode class=\"language-plaintext\">docker run -d -v $(pwd):\u002Fapp -p 3000:3000 node:18\u003C\u002Fcode>\u003C\u002Fpre>\u003Cul>\u003Cli>\u003Cp>เหมาะกับงาน Dev ที่ต้องการ hot reload\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Ch3>2. ใช้ Docker Compose แทนคำสั่งยาว ๆ\u003C\u002Fh3>\u003Cpre>\u003Ccode class=\"language-plaintext\"># docker-compose.yml\nversion: '3.8'\nservices:\n  web:\n    image: node:18\n    ports:\n      - '3000:3000'\n    volumes:\n      - .:\u002Fapp\u003C\u002Fcode>\u003C\u002Fpre>\u003Cpre>\u003Ccode class=\"language-plaintext\">docker compose up -d\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3>3. ดู log ของ container\u003C\u002Fh3>\u003Cpre>\u003Ccode class=\"language-plaintext\">docker logs -f myapp\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3>4. เข้า shell ของ container\u003C\u002Fh3>\u003Cpre>\u003Ccode class=\"language-plaintext\">docker exec -it myapp sh\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>หรือถ้าเป็น Linux Base image:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-plaintext\">docker exec -it myapp bash\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3>5. ตรวจสอบการใช้ทรัพยากร\u003C\u002Fh3>\u003Cpre>\u003Ccode class=\"language-plaintext\">docker stats\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch2>หัวข้อที่ 3: การจัดการ Volume และ Network\u003C\u002Fh2>\u003Ch3>1. สร้าง volume\u003C\u002Fh3>\u003Cpre>\u003Ccode class=\"language-plaintext\">docker volume create mydata\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3>2. ใช้งาน volume กับ container\u003C\u002Fh3>\u003Cpre>\u003Ccode class=\"language-plaintext\">docker run -d -v mydata:\u002Fdata nginx\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3>3. ดูข้อมูล volume\u003C\u002Fh3>\u003Cpre>\u003Ccode class=\"language-plaintext\">docker volume inspect mydata\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3>4. สร้าง network แยกใช้งานเฉพาะกลุ่ม\u003C\u002Fh3>\u003Cpre>\u003Ccode class=\"language-plaintext\">docker network create mynetwork\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3>5. ใช้งาน network กับ container\u003C\u002Fh3>\u003Cpre>\u003Ccode class=\"language-plaintext\">docker run -d --network=mynetwork --name=db mysql:5.7\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch2>หัวข้อที่ 4: Cleanup Docker แบบมือโปร\u003C\u002Fh2>\u003Ch3>1. ลบ container ที่หยุดแล้วทั้งหมด\u003C\u002Fh3>\u003Cpre>\u003Ccode class=\"language-plaintext\">docker container prune\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3>2. ลบ image ที่ไม่ใช้งาน\u003C\u002Fh3>\u003Cpre>\u003Ccode class=\"language-plaintext\">docker image prune\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3>3. ลบทุกอย่างให้สะอาด (ระวัง!)\u003C\u002Fh3>\u003Cpre>\u003Ccode class=\"language-plaintext\">docker system prune -a\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch2>หัวข้อที่ 5: รวมท่า Docker ที่ Dev ใช้จริงทุกวัน\u003C\u002Fh2>\u003Ctable style=\"min-width: 50px;\">\u003Ccolgroup>\u003Ccol style=\"min-width: 25px;\">\u003Ccol style=\"min-width: 25px;\">\u003C\u002Fcolgroup>\u003Ctbody>\u003Ctr>\u003Cth colspan=\"1\" rowspan=\"1\">\u003Cp>Task\u003C\u002Fp>\u003C\u002Fth>\u003Cth colspan=\"1\" rowspan=\"1\">\u003Cp>Command\u003C\u002Fp>\u003C\u002Fth>\u003C\u002Ftr>\u003Ctr>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>ดู IP ของ container\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>\u003Ccode>docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' myapp\u003C\u002Fcode>\u003C\u002Fp>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>คัดลอกไฟล์เข้า container\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>\u003Ccode>docker cp .\u002Flocalfile.txt myapp:\u002Fapp\u002F\u003C\u002Fcode>\u003C\u002Fp>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>คัดลอกไฟล์ออกจาก container\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>\u003Ccode>docker cp myapp:\u002Fapp\u002Foutput.txt .\u002F\u003C\u002Fcode>\u003C\u002Fp>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>เช็ก port mapping\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>\u003Ccode>docker port myapp\u003C\u002Fcode>\u003C\u002Fp>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>รีสตาร์ท container\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>\u003Ccode>docker restart myapp\u003C\u002Fcode>\u003C\u002Fp>\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003Ch2>หัวข้อที่ 6: Docker ใน DevOps Workflow จริง\u003C\u002Fh2>\u003Cul>\u003Cli>\u003Cp>ใช้ Docker ร่วมกับ GitLab CI\u002FCD, GitHub Actions\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>Build image อัตโนมัติ และ push ไปยัง Docker Registry\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>เขียน \u003Ccode>Dockerfile\u003C\u002Fcode> ที่ดีและปรับขนาด image ให้เล็กลงด้วย \u003Ccode>multi-stage build\u003C\u002Fcode>\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp>\u003C\u002Fp>\u003Cdiv data-type=\"horizontalRule\">\u003Chr>\u003C\u002Fdiv>\u003Ch2>สรุป: Docker ไม่ได้ยาก แค่ใช้ให้ถูกจังหวะ\u003C\u002Fh2>\u003Cp>Docker คือเครื่องมือที่เปลี่ยนชีวิต Dev ให้เป็นระบบมากขึ้น เหมาะกับงานเดี่ยว งานทีม และระบบใหญ่ ๆ ที่ต้องการความแน่นอนในการ deploy บทความนี้จึงรวบรวมทุกสิ่งที่ Dev ใช้จริง 90% ในแต่ละวัน เพื่อให้คุณพร้อมใช้งานได้ทันที\u003C\u002Fp>\u003Cp>\u003Cstrong>ฝากกดติดตามพวกเราได้ที่ Superdev Academy\u003C\u002Fstrong> ในทุกช่องทางนะครับ!\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cp>\u003Cstrong>🔵 Facebook: \u003C\u002Fstrong>\u003Ca target=\"_blank\" rel=\"noopener\" class=\"ng-star-inserted\" href=\"https:\u002F\u002Fwww.facebook.com\u002Fsuperdev.academy.th\">\u003Cstrong>Superdev Academy Thailand\u003C\u002Fstrong>\u003C\u002Fa>\u003Cstrong> \u003C\u002Fstrong>(อัปเดตข่าวสารและบทความใหม่)\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>\u003Cstrong>🎬 YouTube: \u003C\u002Fstrong>\u003Ca target=\"_blank\" rel=\"noopener\" class=\"ng-star-inserted\" href=\"https:\u002F\u002Fwww.youtube.com\u002F@SuperdevAcademy\">\u003Cstrong>Superdev Academy Channel\u003C\u002Fstrong>\u003C\u002Fa>\u003Cstrong> \u003C\u002Fstrong>(ติวเข้มแบบวิดีโอ)\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>\u003Cstrong>📸 Instagram: \u003C\u002Fstrong>\u003Ca target=\"_blank\" rel=\"noopener\" class=\"ng-star-inserted\" href=\"https:\u002F\u002Fwww.instagram.com\u002Fsuperdevacademy\u002F\">\u003Cstrong>@superdevacademy\u003C\u002Fstrong>\u003C\u002Fa>\u003Cstrong> \u003C\u002Fstrong>(เกร็ดความรู้สั้นๆ และเบื้องหลังการทำงาน)\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>\u003Cstrong>🎬 TikTok: \u003C\u002Fstrong>\u003Ca target=\"_blank\" rel=\"noopener\" class=\"ng-star-inserted\" href=\"https:\u002F\u002Fwww.tiktok.com\u002F@superdevacademy?lang=th-TH\">\u003Cstrong>@superdevacademy\u003C\u002Fstrong>\u003C\u002Fa>\u003Cstrong> \u003C\u002Fstrong>(Tips &amp; Tricks ฉบับย่อยง่าย)\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>\u003Cstrong>🌐 Website: \u003C\u002Fstrong>\u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"http:\u002F\u002Fsuperdevacademy.com\">\u003Cstrong>superdevacademy.com\u003C\u002Fstrong>\u003C\u002Fa>\u003Cstrong> \u003C\u002Fstrong>(คลังบทความและคอร์สเรียนฉบับเต็ม)\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp>\u003C\u002Fp>","docker_90_dev_0e21awzx9y.jpg","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F2044zho2zxcc16l\u002Fdocker_90_dev_0e21awzx9y.jpg","2026-03-04 08:49:54.255Z","",{"keywords":15,"locale":43,"school_blog":53},[16,23,28,33,38],{"collectionId":17,"collectionName":18,"created":19,"created_by":13,"id":20,"name":21,"updated":22,"updated_by":13},"sclkey987654321","school_keywords","2026-03-04 08:44:18.652Z","jr5zczy6qrxmd88","Docker","2026-04-10 16:12:43.264Z",{"collectionId":17,"collectionName":18,"created":24,"created_by":13,"id":25,"name":26,"updated":27,"updated_by":13},"2026-03-04 08:49:53.381Z","4u65rvi7hocv2oy","Docker สำหรับนักพัฒนา","2026-04-10 16:14:13.922Z",{"collectionId":17,"collectionName":18,"created":29,"created_by":13,"id":30,"name":31,"updated":32,"updated_by":13},"2026-03-04 08:35:11.709Z","ga2eo1rr4uw66mu","DevOps","2026-04-10 16:12:39.734Z",{"collectionId":17,"collectionName":18,"created":34,"created_by":13,"id":35,"name":36,"updated":37,"updated_by":13},"2026-03-04 08:49:52.090Z","vj3fh5r9tg58zfk","Docker Commands","2026-04-10 16:14:13.522Z",{"collectionId":17,"collectionName":18,"created":39,"created_by":13,"id":40,"name":41,"updated":42,"updated_by":13},"2026-03-04 08:49:53.674Z","hx37jen9iwj79fj","รวมคำสั่ง Docker","2026-04-10 16:14:14.067Z",{"code":44,"collectionId":45,"collectionName":46,"created":47,"flag":48,"id":49,"is_default":50,"label":51,"updated":52},"th","pbc_1989393366","locales","2026-01-22 10:59:55.832Z","twemoji:flag-thailand","s8wri3bt4vgg2ji",true,"Thai","2026-04-10 15:42:46.614Z",{"category":54,"collectionId":55,"collectionName":56,"created":13,"expand":57,"id":71,"slug":72,"updated":73,"views":74},"spm4l1k5bgmhmmt","pbc_2105096300","school_blogs",{"category":58},{"blogIds":59,"collectionId":60,"collectionName":61,"created":62,"created_by":13,"id":54,"image":63,"image_alt":13,"image_path":64,"label":65,"name":66,"priority":67,"publish_at":68,"scheduled_at":13,"status":69,"updated":70,"updated_by":13},[],"sclcatblg987654321","school_category_blogs","2026-03-04 08:31:18.590Z","50hyjr6os45_ayazwr5gq7.png","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fspm4l1k5bgmhmmt\u002F50hyjr6os45_ayazwr5gq7.png",{"en":66,"th":66},"Knowledge",0,"2026-03-18 02:25:41.222Z","published","2026-04-25 02:32:14.497Z","i6uypvwl5hxr5ic","docker-commands-dev-used-90-percent","2026-05-11 07:22:47.511Z",517,"2044zho2zxcc16l",[20,25,30,35,40],"2025-04-29 09:34:15.219Z","รวบรวมทุกคำสั่ง Docker ที่นักพัฒนาใช้งานจริง ตั้งแต่พื้นฐานจนถึงเทคนิคขั้นสูง","2026-05-08 06:52:14.993Z",1,{"th":72,"en":72}]