Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Docker远程连接设置

Docker远程连接设置

作者头像
程序员欣宸
发布于 2019-08-29 06:26:13
发布于 2019-08-29 06:26:13
3.7K00
代码可运行
举报
文章被收录于专栏:实战docker实战docker
运行总次数:0
代码可运行

开启Docker远程连接后,在开发和学习时都能带来便利,但请不要将此方式用在外部网络环境,以免带来安全问题,下图是官方警告:

环境信息

本次实战先在CentOS上的Docker设置,再在Ubuntu上也设置,首先要实战的CentOS环境信息如下:

  1. 操作系统:CentOS Linux release 7.6.1810
  2. Docker:1.13.1, build b2f74b2/1.13.1

设置

  1. 编辑此文件:/lib/systemd/system/docker.service

原来的设置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 \,如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
systemctl daemon-reload && systemctl restart docker

现在设置完毕了,来验证设置是否生效; 3. 先在本机试试docke服务是否正常,如下,本机访问一切正常:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[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
  1. 本机IP地址是192.168.121.131,现在尝试从另一台装有docker的机器上测试远程访问本机,命令是docker -H tcp://192.168.121.131:2375 images,如下所示,一切正常:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[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
  1. 如果您觉得每次远程命令时都输入-H tcp://192.168.121.131:2375很麻烦,也可以将远程docker的IP信息存入环境变量DOCKER_HOST=“tcp://192.168.121.131:2375”,这样执行docker命令不带IP地址参数也会远程连接:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[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略有不同,这里也一并说明: 环境:

  1. 操作系统:Ubuntu 18.04.2 LTS
  2. Docker:19.03.1(Community)

步骤:

  1. 检查文件夹/etc/systemd/system/docker.service.d/是否存在,如果没有就创建;
  2. 在文件夹/etc/systemd/system/docker.service.d/下新建文件override.conf,内容如下:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[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
  1. 重新加载配置,再重启docker服务:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
systemctl daemon-reload && systemctl restart docker.service

现在Ubuntu上的Docker开启远程服务成功,可以像前面的步骤那样验证了。

至此,Docker远程连接的设置和验证就完成了,再次强调:此设置方式仅用于开发和学习,不要在公共网络这样设置,以免此Docker被其他未知的客户端远程连上,引发安全问题。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年08月24日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
docker的/var/run/docker.sock参数
在创建docker容器时,有时会用到/var/run/docker.sock这样的数据卷参数,例如以下docker-compose.yml,可以看到kafka容器的数据卷参数带有/var/run/docker.sock:
程序员欣宸
2019/07/02
7.1K0
docker的/var/run/docker.sock参数
IDEA的Docker插件实战(Dockerfile篇)
IntelliJ IDEA的Docker插件能帮助我们将当前工程制作成Docker镜像、运行在指定的远程机器上,是学习和开发阶段的好帮手,本文一起来实战此插件的基本用法;
程序员欣宸
2019/08/29
19.7K0
IDEA的Docker插件实战(Dockerfile篇)
springBoot制作docker镜像
文章目录 1. SpringBoot制作docker镜像 1.1. 开启2375端口 1.2. 修改docker配置文件 1.3. 配置环境变量 1.4. Dockerfile 1.5. 配置maven插件 1.6. 运行 1.7. 源码 1.8. 参考文章 SpringBoot制作docker镜像 开启2375端口 修改docker配置文件 vim /usr/lib/systemd/system/docker.service 在ExecStart=/usr/bin/dockerd配置加上如下内容 -H
爱撒谎的男孩
2019/12/31
2.8K0
Docker安装
安装之前,我们首先确保自己的linux系统内核版本高于3.10,并且系统是64位,才能体验Docker。所以我用的是Centos7.3
py3study
2018/08/02
1.1K0
docker启动报错Error starting daemon: Error initializing network controller:…….Iptables not found
网上搜索大多的方法都是进行删除/var/lib/docker/network 然后进行重启 并没用
全栈程序员站长
2022/06/29
7820
【解决】docker启动报错:Running modprobe xt_conntrack failed with message: `modprobe: ERROR: could not insert
昨天给一台新机器装安装docker,但报错了,解决了一整天也没有头绪。今天起了个大早,破天荒的吃了早饭,然后继续解决。终于找到了问题。
碧海长天
2021/10/21
2.9K0
Docker 配置远程连接
docker是c/s架构的应用程序,默认仅监听socket格式的地址,只支持在本地管理。
隔壁没老王
2019/08/30
7.9K0
Docker环境编译时的两个错误记录
1)报错一 docker-compose -f compose/app.yaml -f compose/backend.yaml -f compose/proxy.yaml build peatio
洗尽了浮华
2018/06/20
8390
k8s集群部署一(最新版docker安装) 顶
因为这里面docker跟我们平常用的docker有点不同,需要好好过一遍(本人的三台服务器的IP跟上图不同,现在最新版本的docker为18.09.2)
算法之名
2019/08/20
2.7K0
k8s集群部署一(最新版docker安装)
                                                                            顶
万字详解Docker架构原理、功能及使用
LXC为Linux Container的简写。可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。相当于C++中的NameSpace。容器有效地将由单个操作系统管理的资源划分到孤立的组中,以更好地在孤立的组之间平衡有冲突的资源使用需求。
数据和云
2019/08/22
2.6K0
万字详解Docker架构原理、功能及使用
容器技术|Docker三剑客之docker-swarm
Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docker资源。Swarm和Kubernetes比较类似,但是更加轻,具有的功能也较kubernetes更少一些。 swarm集群提供给用户管理集群内所有容器的操作接口与使用一台Docker主机基本相同。 Swarm集群目前有两个版本:V1、V2
民工哥
2020/09/16
1.5K0
配置Harbor仓库本机与其他主机使用Docker login+域名连接
 在harbor本机或者其他主机可以使用docker login +域名 直接连接harbor主机仓库,不用在使用IP地址连接。
非著名运维
2022/06/22
2.1K0
Docker修改daemon.json后无法启动的问题
最近在整理Docker和Kubernetes中的日志与相关配置,在尝试通过/etc/docker/daemon.json配置Docker的log-driver参数,遇到了Docker无法启动的错误。
大江小浪
2018/09/19
7.1K0
Docker 上运行 SQL Server
SQL Server 真是越来越有看头。当我们还在为 Linux 上运行 SQL Server 而兴奋的时候,SQL Server 已经开启了 容器化之路,至此才能看清微软的胸怀,开始拥抱更大的世界。当我越来越深入去阅读有关 Docker 容器的文档,已然发现曾经部署上千台 Linux MySQL 的场景,如今在 Docker 的帮助下,SQL Server 也是手到擒来。如果 SQL Server 再匹配一个分布式计算引擎,那也是分分钟即可打造一个计算怪兽,和小象 Hadoop 分庭抗礼。届时玩 SQL 的朋友们不用分心去折腾 Hadoop/Spark, 仅用 T-SQL 依然可以笑傲江湖。因为人工智能,机器学习算法本就是数据集合操作,天生和 SQL 结合紧密。不信看我的这篇:
Lenis
2019/12/26
1.9K0
Docker -- 3 -- 在Linux上玩一遍,还有ngnix反向代理呦
在前面已经尝试着使用了一些docker的功能,并且能够部署一个网站,这里是最近部署网站的一些心得。
流川疯
2022/05/10
4280
Docker -- 3 -- 在Linux上玩一遍,还有ngnix反向代理呦
_SpringBoot项目部署
SpringBoot项目是依赖于Maven构建的,但打包时如果只依赖Maven打包工具则会打包不完整,我们还需要在SpringBoot项目中引入SpringBoot打包插件 :
会洗碗的CV工程师
2023/11/16
6900
_SpringBoot项目部署
Docker开启Remote API 访问 2375端口
在/usr/lib/systemd/system/docker.service,配置远程访问。
sunsky
2020/08/20
6.8K0
CentOS平台下的Docker安装与启动
1、参考 https://www.docker.com/docker-windows https://yq.aliyun.com/ziliao/60630 1、安装docker (1)搜索docker [root@node3 ~]# yum search docker Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras
程裕强
2022/05/06
5100
基于Docker UI 配置ceph集群
前一篇介绍了docker在命令行下面进行的ceph部署,本篇用docker的UI进行ceph的部署,目前来说市面上还没有一款能够比较简单就能直接在OS上面去部署Ceph的管理平台,这是因为OS的环境差异化太大,并且包的版本,以及各种软件的适配都可能造成失败,而docker比较固化环境,因此即使一个通用的UI也能很方便的部署出一个Cpeh集群
用户2772802
2018/08/06
7760
基于Docker UI 配置ceph集群
Docker4-docker私库的搭建及常用方法-docker-registry方式
前面已经介绍,可以使用Docker Hub公共仓库,但是大多数情况企业都需要创建一个本地仓库供自己使用。这里介绍几种搭建私库的方法
Java帮帮
2019/12/13
1.8K0
Docker4-docker私库的搭建及常用方法-docker-registry方式
推荐阅读
相关推荐
docker的/var/run/docker.sock参数
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验