服務器
CentOS Linux release 7.6.1810 (Core)
Docker
Server Version: 19.03.4
--------------------------------------------------------------
假設服務器ip爲192.168.1.100。在啓動配置中加上參數 -H 0.0.0.0:2376。即可開放遠程訪問
比如你的機器ip爲192.168.1.150。在命令行中加上 -H 192.168.1.100:2376 即可操作100這臺機器。
效果是達到了我們需要的遠程訪問和操作,也就是說有ip和端口,就可以隨便使用你的機器了,這是非常不安全的方法
官方沒有像redis的密碼設置,需要設置ca、服務器、客戶端證書來做安全。
--------------------------------------------------------------
我網上操作了幾個方法,證書都能正常配置,但最後都沒有完整的成功。
後面在官網的文檔下完成了證書配置
https://docs.docker.com/engine/security/https/
可以先按上面的教程生成證書,文檔裏面有一句話,哈哈哈沒看到但是我就是這麼幹的,因爲喜歡使用域名不喜歡用ip。
openssl命令中,有一個$HOSP這個變量,可以改爲自己的域名
證書生成完後,下一個命令就是設置證書。這裏可能會報錯,我也不是很懂,可能就是我們已經啓動了的意思,所以他會要求我們刪pid文件,其實是要先停掉服務,在運行可能就ok了,但是他佔用了你的命令行(不知道怎麼說了就是說沒有後臺運行),文檔估計只是給我們做一個demo,命令如下
注意目錄
dockerd --tlsverify --tlscacert=ca.pem --tlscert=server-cert.pem --tlskey=server-key.pem \
-H=0.0.0.0:2376
在centos下,其實是使用服務的方式運行在後臺,所以我們要去修改服務的配置,網上的資料也是這麼去做的
vi /lib/systemd/system/docker.service
這個文件裏面ExecStart參數就是啓動命令來的,我們需要將
--tlsverify --tlscacert=ca.pem --tlscert=server-cert.pem --tlskey=server-key.pem -H=0.0.0.0:2378
填寫到後面,注意我這裏改了一個端口號,別問我爲什麼
這是我的配置,下面這行註釋了,跑不起來也不知道什麼原因,不知道是不是順序問題
到這裏其實已經實現了訪問問題了,訪問方式你就用另外一臺可以訪問這臺ip的機器,通過docker -H ip:2378 info訪問。訪問不到可以嘗試看下是不是防火牆端口沒開
我的服務器是centos,這臺是我本地電腦,windows