首頁  >  問答  >  主體

docker api 開發的連接埠怎麼取得?

新版的docker for Mac去除了docker-machine指令
我現在要怎麼取得 rest api 開發的連接埠呢?
例如:
curl -XGET http://localhost:2376/images/... | python -mjson.tool

可是,貌似不是上面的2376埠。
謝謝指教。

天蓬老师天蓬老师2707 天前783

全部回覆(4)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-04-25 09:04:30

    我在這裡透過一個折衷的方法
    環境:MacOS
    在shell裡敲入:vim ~/.bash_profile ,在檔案的最後鍵入下面程式碼

    alias dest='rest_fun(){ curl --unix-socket /var/run/docker.sock http: | python -mjson.tool ;};rest_fun '
    

    保存退出,重啟shell。
    接著就可以使用dest指令實現一些功能,如羅列images:
    dest /images/json

    回覆
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-04-25 09:04:30

    預設使用的/var/run/docker.sock進行通訊, 可以使用-H參數指定對應的監聽埠
    如果使用的是預設的socket通訊模式的話 可以使用curl的unix-socket方式進行測試

    curl --unix-socket /var/run/docker.sock http:/v1.24/info

    上述的指令在

    Server:
     Version:      1.12.1
     API version:  1.24

    可以正常執行

    回覆
    0
  • 为情所困

    为情所困2017-04-25 09:04:30

    這裡的連接埠取決於你docker daemon綁定的連接埠。

    如果daemon運行時沒有指定端口,預設用unix:///var/run/docker.sock

    By default the Docker daemon listens on unix:///var/run/docker.sock and the client must have root access to interact with the daemon. If a group named docker exists on your system, cker applies the to the group.
    https://docs.docker.com/engin...

    例如運行時:

    docker -d -H unix:///var/run/docker.sock -H 0.0.0.0:2376

    相當於將預設的socket綁定在本機的2376,也就是你說的http://localhost:2376

    回覆
    0
  • 世界只因有你

    世界只因有你2017-04-25 09:04:30

    不想改設定檔的話, 直接使用鏡像來代理就好了。 注意掛載/var/run/docker.sock

    docker run -d -ti -p 2375:2375 -v /var/run/docker.sock:/var/run/docker.sock ehazlett/docker-proxy:latest -i

    回覆
    0
  • 取消回覆