溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何實(shí)現(xiàn)Docker遠(yuǎn)程連接設(shè)置

發(fā)布時(shí)間:2022-03-07 11:54:52 來源:億速云 閱讀:517 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要為大家展示了“如何實(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í)現(xiàn)Docker遠(yuǎn)程連接設(shè)置

環(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

設(shè)置

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è)置

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è)資訊頻道!

向AI問一下細(xì)節(jié)

免責(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)容。

AI