1. 程式人生 > >docker-服務管理和遠端訪問

docker-服務管理和遠端訪問

服務管理

# 這個或許不用多說,docker服務本身執行在linux上,利用liinux本身的服務管理即可

# 啟動
sudo service docker start

# 狀態
sudo service docker status

# 關閉
sudo service docker stop

#重啟
sudo service docker restart

訪問模式

# 之前說過,服務端執行,客戶端指令
# 現在就說說客戶端和服務端的交流方式把

# 通過 -H 選項指定連線交流方式,支援如下三種方式
-H tcp://host:port
-H unix://path/to/socket # 預設方式
-H fd://*
-H fd://socketfd
# 後兩個歸為一類

# 後面再仔細說配置

開啟遠端

# 是否支援遠端,關鍵看啟動引數

# 1. 配置檔案
vim /etc/default/docker

# 2. 關鍵引數
DOCKER_OPTS="..."

# 3. 配置名稱
DOCKER_OPTS="label name=remote_1"
# label後面是屬性鍵值對,只要是配置都可以寫在DOCKER_OPTS中

# 4. 配置遠端
DOCKER_OPTS="labelname=remote_1 -H tcp://0.0.0.0:2375"
# 這裡0.0.0.0會自動繫結宿主機ip
# 一般docker常使用2375埠

# 5.  服務重啟
sudo service docker restart

遠端訪問

# rest訪問
curl http://ip:port/info
# rest方式,指定ip:port後,後面的api形式就是一般的常用指令

#docker-client方式
docker -H tcp://ip:port info
# 指定為遠端訪問,並填寫遠端訪問地址
# 拋開遠端指定,操作和單機沒區別

# 最熟悉的還是client模式,不過有點長
export DOCKER_HOST="tcp://ip:port"
# 新增DOCKER_HOST環境變數,然後就可以直接執行docker了
docker info
# 此時,該伺服器上的客戶端和服務端就分離了
# 客戶端的連線物件可變,本身就是這樣,兩者的確是不一定的對應關係

# 如果想連線本機
export DOCKER_HOST=""
# 預設就是連線本機的

雙端支援

# 退回到開啟遠端的docker服務端
docker info
# 居然會報錯

# 當然了,配置DOCKER_HOST也能輕鬆解決,但是未免太沒意思
vim /etc/default/docker

DOCKER_OPTS="label name=remote_server -H tcp://0.0.0.0:2375 -H ..."
# 恩。。。具體引數我就不說了
# 主要是想說-H可以支援多個配置

# 當配置了遠端訪問時,本機訪問有些問題
# 為此,可以
1. 配置 export DOCKER_HOST
2. 多配置一個 -H

影響

可以在程式碼裡面呼叫docker-api啊,這個不論開發,運維,監控還是新建都必須是很強大