docker api 開發(fā)的端口怎么獲取?
問(wèn)題描述
新版本的docker for Mac去除了docker-machine指令我現(xiàn)在怎么獲取 rest api 開發(fā)的端口呢?比如:curl -XGET http://localhost:2376/images/... | python -mjson.tool
可是,貌似不是上面的2376端口。謝謝指教。
問(wèn)題解答
回答1:我這里通過(guò)一種折中的辦法環(huán)境:MacOS在shell里敲入:vim ~/.bash_profile ,在文件的末尾鍵入下面代碼
alias dest=’rest_fun(){ curl --unix-socket /var/run/docker.sock http:$1 | python -mjson.tool ;};rest_fun $1’
保存退出,重啟shell。然后就可以使用dest指令實(shí)現(xiàn)一些功能,如羅列images:dest /images/json
默認(rèn)使用的/var/run/docker.sock進(jìn)行通信, 可以使用-H參數(shù)指定相應(yīng)的監(jiān)聽端口如果使用的是默認(rèn)的socket通信模式的話 可以使用curl的unix-socket方式進(jìn)行測(cè)試
curl --unix-socket /var/run/docker.sock http:/v1.24/info
上述的指令在
Server: Version: 1.12.1 API version: 1.24
可以正常執(zhí)行
回答3:這里的端口取決于你docker daemon綁定的端口。
如果daemon運(yùn)行時(shí)沒有指定端口,默認(rèn)用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, docker applies ownership of the socket to the group.https://docs.docker.com/engin...
例如運(yùn)行時(shí):
docker -d -H unix:///var/run/docker.sock -H 0.0.0.0:2376
相當(dāng)于將默認(rèn)的socket綁定在本機(jī)的2376,也就是你說(shuō)的http://localhost:2376
回答4:不想改配置文件的話, 直接使用鏡像來(lái)代理就好了。 注意掛載/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
相關(guān)文章:
1. python - django 按日歸檔統(tǒng)計(jì)訂單求解2. angular.js - 指令下的指令 面對(duì)上級(jí)指令ng-repeat的時(shí)候 ng-controller會(huì)出現(xiàn)多次的問(wèn)題?3. android-studio - Android Studio 運(yùn)行項(xiàng)目的時(shí)候一堆警告,跑步起來(lái)!?4. Android "1"=="1" 到底是true還是false5. javascript - jQuery中l(wèi)ive事件在移動(dòng)微信端下沒有效果;代碼如下6. 熱切期待朱老師的回復(fù),網(wǎng)頁(yè)視頻在線播放器插件配置錯(cuò)誤7. python - django orm 過(guò)濾日期為當(dāng)天日期的數(shù)據(jù)8. javascript - 一個(gè)JS的算法,求大神解答9. python - scrapy中返回函數(shù)的返回值10. css - 如何使用 vue transition 實(shí)現(xiàn) ios 按鈕一樣的平滑切換效果
