日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Docker遠程連接設置的實現示例_docker

作者:程序員欣宸 ? 更新時間: 2022-05-06 編程語言

開啟Docker遠程連接后,在開發(fā)和學習時都能帶來便利,但請不要將此方式用在外部網絡環(huán)境,以免帶來安全問題,下圖是官方警告:

環(huán)境信息

本次實戰(zhàn)先在CentOS上的Docker設置,再在Ubuntu上也設置,首先要實戰(zhàn)的CentOS環(huán)境信息如下:

  • 操作系統:CentOS Linux release 7.6.1810
  • Docker:1.13.1, build b2f74b2/1.13.1

設置

1.編輯此文件:/lib/systemd/system/docker.service

原來的設置:

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

現在設置完畢了,來驗證設置是否生效;

3. 先在本機試試docke服務是否正常,如下,本機訪問一切正常:

[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.本機IP地址是192.168.121.131,現在嘗試從另一臺裝有docker的機器上測試遠程訪問本機,命令是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.如果您覺得每次遠程命令時都輸入-H tcp://192.168.121.131:2375很麻煩,也可以將遠程docker的IP信息存入環(huán)境變量DOCKER_HOST=“tcp://192.168.121.131:2375”,這樣執(zhí)行docker命令不帶IP地址參數也會遠程連接:

[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上的設置

Ubuntu上的設置和CentOS略有不同,這里也一并說明:
環(huán)境:

  • 操作系統: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,內容如下:
[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服務:

systemctl daemon-reload && systemctl restart docker.service

現在Ubuntu上的Docker開啟遠程服務成功,可以像前面的步驟那樣驗證了。

至此,Docker遠程連接的設置和驗證就完成了,再次強調:此設置方式僅用于開發(fā)和學習,不要在公共網絡這樣設置,以免此Docker被其他未知的客戶端遠程連上,引發(fā)安全問題。

原文鏈接:https://blog.csdn.net/boling_cavalry/article/details/100049996

欄目分類
最近更新