Set proxy ให้ docker

วิธีการแรก เถื่อน ๆ หน่อย คือ ลบ docker machine แล้วสร้างใหม่เลย

ลบด้วยคำสั่ง docker-machine rm ชื่อเครื่อง เช่น docker-machine rm default
แล้วสร้างใหม่พร้อมระบุ proxy ด้วย

docker-machine create -d virtualbox \
    --engine-env HTTP_PROXY=http://login:password@example.com:8080 \
    --engine-env HTTPS_PROXY=https://login:password@example.com:8080 \
default

แค่นี้ก็ใช้ได้แล้ว แต่เราจะมานั่งลบนั่งเซ็ตหรือ? มาแก้ค่าใน machine กันดีกว่า

หลังจากนั่งมั่วมาหลายชั่วโมง พอจะได้วิธีดังนี้

  1. ssh เข้าเครื่องด้วย docker-machine ssh ชื่อเครื่อง เช่น docker-machine ssh default
  2. เปลี่ยนตัวเองเป็น root ด้วย sudo -i
  3. เปิดไฟล์ที่ /var/lib/boot2docker/profile เพิ่มโค้ดตามนี้
               export "HTTP_PROXY=ที่อยู่ proxy"
               export "HTTPS_PROXY=ที่อยู่ proxy"
    

    เช่น

               export "HTTP_PROXY=http://10.0.0.3:443"
               export "HTTPS_PROXY=http://10.0.0.3:443"
    

    ที่สำคัญคือ ห้ามลืม double quote (นั่งหานานมาก)

  4. หลังจากเซฟให้ restart ด้วย /etc/init.d/docker restart
  5. exit ออกจากเครื่อง docker-machine แล้ว docker-machine restart default
  6. รัน eval $(docker-machine env default) เป็นอันจบ

ปล. ขั้นตอนมาแบบมั่ว ๆ บางขั้นตอนไม่รู้จำเป็นไหม

อ้างอิง:
Use docker behind an enterprise proxy
How to Run docker-machine from Behind a Corporate Proxy
how to set proxy in docker toolbox?

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s