Docker & VSCode

Sittipong Saychum
NECTEC
Published in
3 min readOct 26, 2021

บทความนี้จะทำให้ชีวิตของ developer ง่ายขึ้นมากเลย เนื่องจากเราใช้ VSCode เป็นอวัยวะที่ 33 ของเราไปแล้ว แต่ docker ก็แทบจะเป็นอวัยวะที่ 34 อีกด้วยเช่นกัน ชีวิตมันจะง่ายขึ้นไหมถ้าเราจับ docker มารันบน VSCode

เร่ิมต้นด้วย เปิด VSCode แล้วลง extension Remote — Containersและ Docker

หลังจากลง extension เสร็จแล้ว ผมจะเริ่มต้นด้วยการสร้าง Dockerfile ให้เราไปที่ menu ด้านบนแล้วเลือก View ->Command Palette แล้ว พิมพ์ docker จะขึ้นแบบรูปด้านล่าง

เสร็จแล้วเลือก add Docker Files …. -> เลือก Other -> Include option Docker Compose files? -> Yes

เสร็จแล้วเข้าไปแก้ไขไฟล์ Dockerfile ใครที่ยังเขียน Dockerfile ไม่เป็น ลองเข้าไปอ่านจาก link ด้านล่างดูนะครับ

Dockerfile ที่ผมแก้ไข จะเป็นแบบด้านล่างนี้นะครับ โดยจะใช้ Image เป็น ubuntu version 18.04 และให้ work directory อยู่ที่ /opt/ เวลาเรา shell เข้าไปมันจะไปเริ่มต้นที่ dir นี้เลย

FROM ubuntu:18.04
RUN apt-get update && apt-get install -y vim net-tools
WORKDIR /opt/

เสร็จแล้วคลิ๊กขวาที่ Dockerfile ครับจะขึ้นแบบรูปด้านล่าง แล้วเลือก Build Image แล้วรอสักพักให้มันสร้าง Image ให้เรา

เสร็จแล้วให้เราไปดูแถบเครื่องมือ docker รูปปลาวาฬด้านซ้าย ตรงกล่อง Images จะเห็นว่า Image ที่เราเพิ่งสร้าง แสดงให้เราเห็นแล้ว

จากนั้นผมจะกลับไปที่ docker-compose.yml ไฟล์ แล้วแก้ไขให้เป็นดังรูปด้านล่างนี้ครับ

จากรูปด้านบนผมต้องการรัน Image ที่ผมเพิ่งสร้างไว้ แล้ว mount port 2 port กับ directory ด้วย นอกจากนั้นผมยังใส่ออฟชั่นให้รันแบบ interactive ด้วย

ก่อนที่เราจะรัน container ต้อง Install docker-compose แบบคำสั่งด้านล่างนี้ก่อนนะครับ

pip install docker-compose

เวลาจะรัน container ก็ง่ายมากครับ คลิ๊กขวาที่ docker-compose.yml ไฟล์ แล้วเลือก Compose Up แบบรูปด้านล่าง

ไปดูแถบเครื่องมือ docker รูปปลาวาฬด้านซ้ายอีกที กด refresh ที่กล่อง Containers จะเห็นว่า Containers ubuntu:18.04 ที่เราเพิ่งรันมา

จากตรงนี้ให้เราคลิ๊กขวาที่ container ของเรา ให้เราเลือกว่าเราจะเข้าไปใช้ container ของเราแบบไหน เราสามารถเลือกได้แบบ Shell เข้าไป หรือจะเปิดด้วย VSCode เลยก็ได้ สะดวกจริงๆ

เสร็จแล้วครับ ลองไปทำดู จะรู้สึกทันทีว่าชีวิตดีขึ้นเห็นๆ ขอบคุณเครื่องมือดีๆ อย่าง VSCode ที่ทำให้ชีวิต developer ง่ายขึ้นอย่างมากเลยทีเดียว คนที่ไม่เคยผ่านชีวิต เครื่องคอม 3–4 เครื่องรอบๆตัว คงไม่เข้าใจหรอก

--

--