docker怎么设置远程访问(Docker开启远程访问的实现方式)
docker怎么设置远程访问
Docker开启远程访问的实现方式Docker守护进程套接字
Docker守护进程可以通过三种不同类型的套接字监听Docker Engine API请求:unix
、tcp
和fd
。
默认情况下,在/var/run/docker.sock
处创建一个unix
域套接字(或IPC套接字),需要root
权限或docker
组成员身份。
如果需要远程访问Docker守护进程,则需要启用tcp
套接字。请注意,默认设置提供了对Docker守护进程的未加密和未经身份验证的直接访问,应该使用内置的HTTPS加密套接字或在其前面放置一个安全的web
代理来进行保护。你可以使用-H tcp://0.0.0.0:2375
监听所有网络接口上的2375
端口,或使用其IP地址-H tcp://ip:2375
监听特定网络接口上的2375
端口。通常使用端口2375
与守护进程进行非加密通信,使用端口2376
与守护进程进行加密通信。
注意:如果你使用的是HTTPS加密的套接字,请记住,仅支持TLS1.0
及更高版本。出于安全原因,SSLv3
及以下版本的协议不再受支持。
修改docker.service
vim /usr/lib/systemd/system/docker.service
在[Service]
部分,修改ExecStart
参数,在最后增加-H tcp://0.0.0.0:2375
,监听所有网络接口上的2375
端口。
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375
重新加载配置文件和启动服务
systemctl daemon-reload && systemctl restart docker
daemon-reload
: 重新加载服务的配置文件,要是服务的配置文件发生变化,则需要重新加载restart
:重新启动服务。
查看dockerd
进程是否正在监听2375
端口:
[root@izoq008ryseuupz ~]# netstat -antp | grep dockerd tcp6 0 0 :::2375 :::* LISTEN 22494/dockerd
netstat
命令用于显示网络状态,部分选项的作用如下:
-a
或--all
:显示所有连线中的Socket。-n
或--numeric
:直接使用IP地址,而不通过域名服务器。-t
或--tcp
:显示TCP传输协议的连线状况。-p
或--programs
:显示正在使用Socket的程序识别码和程序名称。
测试
接下来测试一下通过localhost
是否能使用Docker Engine API。
[root@izoq008ryseuupz ~]# curl http://localhost:2375/version {"Platform":{"Name":"Docker Engine - Community"},"Components":[{"Name":"Engine","Version":"19.03.13","Details":{"ApiVersion":"1.40","Arch":"amd64","BuildTime":"2020-09-16T17:02:21.000000000+00:00","Experimental":"false","GitCommit":"4484c46d9d","GoVersion":"go1.13.15","KernelVersion":"3.10.0-514.26.2.el7.x86_64","MinAPIVersion":"1.12","Os":"linux"}},{"Name":"containerd","Version":"1.3.7","Details":{"GitCommit":"8fba4e9a7d01810a393d5d25a3621dc101981175"}},{"Name":"runc","Version":"1.0.0-rc10","Details":{"GitCommit":"dc9208a3303feef5b3839f4323d9beb36df0a9dd"}},{"Name":"docker-init","Version":"0.18.0","Details":{"GitCommit":"fec3683"}}],"Version":"19.03.13","ApiVersion":"1.40","MinAPIVersion":"1.12","GitCommit":"4484c46d9d","GoVersion":"go1.13.15","Os":"linux","Arch":"amd64","KernelVersion":"3.10.0-514.26.2.el7.x86_64","BuildTime":"2020-09-16T17:02:21.000000000+00:00"}
curl
是常用的命令行工具,用来请求Web服务器。不带任何参数时,curl
发出GET请求。
很显然可以通过localhost
使用Docker Engine API。
再来测试一下远程通过主机IP能否使用Docker Engine API,请求http://ip:2375/version
得到的页面如下图所示,很显然是可以的。
IDEA也是可以进行远程连接的。
可能的问题
如果远程访问不了,可能需要设置一下服务器的防火墙,应该是2375
端口没有暴露出去,所以远程访问不了,博主是阿里云的服务器(Centos7.3
)。
到此这篇关于Docker开启远程访问的实现方式的文章就介绍到这了,更多相关Docker 远程访问内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
- docker容器测试环境构建(docker容器内安装TensorRT的问题)
- docker和容器有什么区别(聊聊docker中容器与镜像的区别)
- docker网络有哪些模式(Docker网络原理及自定义网络详细解析)
- 怎么用docker部署springboot项目(Spring Boot使用Docker分层打包的设置方法)
- harbor 1.8安装部署(docker5 全功能harbor仓库搭建过程)
- docker开源软件(5款超好用的开源 Docker工具强烈推荐)
- net coredocker基础镜像(Docker 部署net5程序实现跨平台功能)
- docker-compose 开发代码(Docker Compose多容器部署的实现)
- docker安装java8(docker安装java环境的实现步骤)
- docker创建容器使用教程(Docker容器连接实现步骤解析)
- docker容器无法启动(Docker 无法停止或删除容器服务问题的解决方案)
- docker端口映射怎么添加(Docker 动态修改容器端口映射的方法)
- docker容器端口和内部进程(Docker动态给容器Container暴露端口操作)
- docker端口访问不了(docker设置了端口映射,不能访问的解决方案)
- docker构建本地镜像(Docker创建本地镜像实现方法解析)
- 自建docker镜像仓库(使用docker制作分布式lnmp 镜像)
- 华为 Watch GT2 Pro 智能手表曝光,新增支持无线充电(华为WatchGT2)
- vivo首款智能手表来了 也有血氧饱和度监测,一次充电18天续航(vivo首款智能手表来了)
- 你知道 七夕 的真正含义吗(你知道七夕的真正含义吗)
- 七夕的寓意(七夕的寓意)
- 苏志燮赵恩静结婚,韩国四大公共财产变三人,这么快就有替补了(苏志燮赵恩静结婚)
- 《内在美》后,一大波新韩剧来袭,李钟硕朴信惠宋慧乔玄彬回归(一大波新韩剧来袭)
热门推荐
- element中表单验证规则(element多个表单校验的实现)
- sqlcount优化(SQL优化教程之in与range查询)
- apache静态化怎么用(apache中访问不了伪静态页面的解决方法)
- idea 部署到tomcat 的项目在哪儿(使用IDEA创建Web项目并发布到tomcat的操作方法)
- mysql如何定义外键(MySQL外键设置的方法实例)
- 查看IO量大的SQL语句及它们的执行计划
- pythonlist列表讲解(Python中将两个或多个list合成一个list的方法小结)
- mysql密码设置(mysql密码中有特殊字符&在命令行下登录的操作)
- python设置按钮(Python按钮的响应事件详解)
- 使用vue独立开发组件(vue单文件组件的实现)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9