您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“如何實(shí)現(xiàn)Docker遠(yuǎn)程連接設(shè)置”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“如何實(shí)現(xiàn)Docker遠(yuǎn)程連接設(shè)置”這篇文章吧。
開啟Docker遠(yuǎn)程連接后,在開發(fā)和學(xué)習(xí)時(shí)都能帶來便利,但請(qǐng)不要將此方式用在外部網(wǎng)絡(luò)環(huán)境,以免帶來安全問題,下圖是官方警告:
本次實(shí)戰(zhàn)先在CentOS上的Docker設(shè)置,再在Ubuntu上也設(shè)置,首先要實(shí)戰(zhàn)的CentOS環(huán)境信息如下:
操作系統(tǒng):CentOS Linux release 7.6.1810
Docker:1.13.1, build b2f74b2/1.13.1
1.編輯此文件:/lib/systemd/system/docker.service
原來的設(shè)置:
ExecStart=/usr/bin/dockerd-current \ --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \ --default-runtime=docker-runc \ --exec-opt native.cgroupdriver=systemd \ --userland-proxy-path=/usr/libexec/docker/docker-proxy-current \ --init-path=/usr/libexec/docker/docker-init-current \ --seccomp-profile=/etc/docker/seccomp.json \ $OPTIONS \ $DOCKER_STORAGE_OPTIONS \ $DOCKER_NETWORK_OPTIONS \ $ADD_REGISTRY \ $BLOCK_REGISTRY \ $INSECURE_REGISTRY \ $REGISTRIES
把ExecStart=/usr/bin/dockerd-current \改為ExecStart=/usr/bin/dockerd-current -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock \,如下:
ExecStart=/usr/bin/dockerd-current -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock \ --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \ --default-runtime=docker-runc \ --exec-opt native.cgroupdriver=systemd \ --userland-proxy-path=/usr/libexec/docker/docker-proxy-current \ --init-path=/usr/libexec/docker/docker-init-current \ --seccomp-profile=/etc/docker/seccomp.json \ $OPTIONS \ $DOCKER_STORAGE_OPTIONS \ $DOCKER_NETWORK_OPTIONS \ $ADD_REGISTRY \ $BLOCK_REGISTRY \ $INSECURE_REGISTRY \ $REGISTRIES
修改完畢后保存退出;
2. 重新加載配并重啟docker:
systemctl daemon-reload && systemctl restart docker
現(xiàn)在設(shè)置完畢了,來驗(yàn)證設(shè)置是否生效;
3. 先在本機(jī)試試docke服務(wù)是否正常,如下,本機(jī)訪問一切正常:
[root@maven ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE bolingcavalry/nacosconfigdemo 1.0-SNAPSHOT ed524b78f80b 5 days ago 125 MB bolingcavalry/nacosserver 0.0.1 9ab34ff860d8 3 weeks ago 156 MB docker.io/openjdk 8u212-jdk-stretch 03b20c1fa768 6 weeks ago 488 MB docker.io/openjdk 8u201-jdk-alpine3.9 3675b9f543c5 4 months ago 105 MB docker.io/fabric8/java-jboss-openjdk8-jdk 1.3 c9d7e2e7b917 20 months ago 436 MB
4.本機(jī)IP地址是192.168.121.131,現(xiàn)在嘗試從另一臺(tái)裝有docker的機(jī)器上測(cè)試遠(yuǎn)程訪問本機(jī),命令是docker -H tcp://192.168.121.131:2375 images,如下所示,一切正常:
[root@centos7 ~]# docker -H tcp://192.168.121.131:2375 images REPOSITORY TAG IMAGE ID CREATED SIZE bolingcavalry/nacosconfigdemo 1.0-SNAPSHOT ed524b78f80b 5 days ago 125 MB bolingcavalry/nacosserver 0.0.1 9ab34ff860d8 3 weeks ago 156 MB docker.io/openjdk 8u212-jdk-stretch 03b20c1fa768 6 weeks ago 488 MB docker.io/openjdk 8u201-jdk-alpine3.9 3675b9f543c5 4 months ago 105 MB docker.io/fabric8/java-jboss-openjdk8-jdk 1.3 c9d7e2e7b917 20 months ago 436 MB
5.如果您覺得每次遠(yuǎn)程命令時(shí)都輸入-H tcp://192.168.121.131:2375很麻煩,也可以將遠(yuǎn)程docker的IP信息存入環(huán)境變量DOCKER_HOST=“tcp://192.168.121.131:2375”,這樣執(zhí)行docker命令不帶IP地址參數(shù)也會(huì)遠(yuǎn)程連接:
[root@centos7 ~]# export DOCKER_HOST="tcp://192.168.121.131:2375" [root@centos7 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE bolingcavalry/nacosconfigdemo 1.0-SNAPSHOT ed524b78f80b 5 days ago 125 MB bolingcavalry/nacosserver 0.0.1 9ab34ff860d8 3 weeks ago 156 MB docker.io/openjdk 8u212-jdk-stretch 03b20c1fa768 6 weeks ago 488 MB docker.io/openjdk 8u201-jdk-alpine3.9 3675b9f543c5 4 months ago 105 MB docker.io/fabric8/java-jboss-openjdk8-jdk 1.3 c9d7e2e7b917 20 months ago 436 MB
Ubuntu上的設(shè)置和CentOS略有不同,這里也一并說明:
環(huán)境:
操作系統(tǒng):Ubuntu 18.04.2 LTS
Docker:19.03.1(Community)
步驟:
檢查文件夾/etc/systemd/system/docker.service.d/是否存在,如果沒有就創(chuàng)建;
在文件夾/etc/systemd/system/docker.service.d/下新建文件override.conf,內(nèi)容如下:
[Service] ExecStart= ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock ExecReload=/bin/kill -s HUP $MAINPID TimeoutSec=0 RestartSec=2 Restart=alway
重新加載配置,再重啟docker服務(wù):
systemctl daemon-reload && systemctl restart docker.service
現(xiàn)在Ubuntu上的Docker開啟遠(yuǎn)程服務(wù)成功,可以像前面的步驟那樣驗(yàn)證了。
至此,Docker遠(yuǎn)程連接的設(shè)置和驗(yàn)證就完成了,再次強(qiáng)調(diào):此設(shè)置方式僅用于開發(fā)和學(xué)習(xí),不要在公共網(wǎng)絡(luò)這樣設(shè)置,以免此Docker被其他未知的客戶端遠(yuǎn)程連上,引發(fā)安全問題。
以上是“如何實(shí)現(xiàn)Docker遠(yuǎn)程連接設(shè)置”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。