my space

Docker Run Port binding mistake...

docker

June 10, 2020

บันทึกความผิดพลาดของการทำ Port binding ใน Docker ที่กินเวลาไปหลายชั่วโมง…

ปกติเราเข้าใจว่าการ run command แล้วใส่ option (เช่น -p ใน docker นั้นเราวางไว้ตรงไหนของ command ก็ได้) เช่น

docker run --rm -it -p 8080:8080 nvblue/spring-demo:multi

กับ

docker run --rm -it nvblue/spring-demo:multi -p 8080:8080

น่าจะมีค่าเท่ากัน

แต่จริงๆแล้วไม่ใช่เลย ต่างกันลิบ การที่ -p 8080:8080 ไปอยู้หลัง spring-demo:multi นั้นเป็นการบอกว่าให้พิมพ์ command นี้เข้าไปหลังจากสร้าง container ขึ้นมาแล้ว… ก็ไปมึนเขียน -p อยู่ด้านหลังสุดเสียอยู่ตั้งนาน มันก็ bind ไม่ได้อยู่นั่นแหละ… จบ


gie

Written by gie who lives and works in Bangkok. Build things by code.
my twitter | github