Docker开启远程连接,本地IDEA使用docker插件连接(不认证的版本和认证的版本都有)
前言
在学校学习的时候,要部署一个Java程序,一般是打成war包,放到服务器上的tomcat的webapp里面去;
后来SpringBoot出现内置了tomcat,就直接打成jar包,丢到服务器任何一个目录,只要服务器上安装了Java即可;
Docker出现以后,可以通过编写Dockerfile将jar包和Java环境集成到一个镜像里面,更加方便了;
在公司则是使用持续部署和持续集成,通过在gitlab上设置webhook触发k8s来拉取代码自己编译部署集成。
技术一直在发展,越来越自动化,使用越来越简单,我辈之幸~~
在个人学习过程中,需要部署程序,推荐使用上面第三条,部署起来更加方便;最近了解到第三条部署方式的改进版,
可以在idea安装docker和编写Dockerfile文件,开启远程docker的远程连接,使用idea本地docker插件连接到远程docker,这样就省去了
还要手动将jar包丢到服务器上用docker build构建镜像的过程,算是方便了很多。。。
当然,本文讨论的不是部署方式,而是如何开启docker远程连接,docker远程连接分两种,一种是不用认证的,只要修改了docker的配置并
让配置生效就可以连接了,另外一种稍微复杂一些,需要自行生成CA证书,服务器公钥,客户端公钥等等。
不用认证的版本
开启docker远程连接
- 修改docker.service文件
vi /usr/lib/systemd/system/docker.service
找到ExecStart在后面追加以下内容
-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
需要注意的是,我这里配置的端口是2376,这是因为docker一般的远程连接端口是2375,由于我使用的是云服务器,怕被人利用来挖矿。。。虽然可能作用也不大~
另外,如果使用国内的云服务器,比如阿里云或者腾讯云,还需要去云服务器控制台配置安全组,把2376端口给暴露出来
重启docker让配置生效
systemctl daemon-reload systemctl restart docker
查看docker是否正常启动
systemctl status docker
本地连接演示
idea下载好docker插件
配置docker连接
我上面的ip随便写的,看官写上自己的ip即可。
配置好后,下方会出现连接成功字样
如果连接失败,则需要仔细检查下ip和端口是否正确
- 查看镜像和容器
idea安装好docker插件后,slidebar上可以打开docker
就是中间这个Service,我不知道为什么叫这个名字,看别人很多博主的就叫docker
- 点击连接
- 点击连接
- 查看镜像和容器
- 查看镜像和容器
- 甚至还可以创建容器和启动容器
- 甚至还可以创建容器和启动容器
推荐文章
一键部署 Spring Boot 到远程 Docker 容器,就是这么秀!
需要认证的版本
生成CA证书及服务器公钥等
看了很多博文,这部分相对比较散乱一些,有一个博主根据其他博主的文章写了个脚本,并且写了很多注释,非常感谢!!!
我也是使用的该博主的脚本,稍稍改了下变量,下面是我使用的脚本,不知道为什么把脚本拷到博客园这边就不对,只好放在简书上面了
创建docker ca证书及服务器公钥脚本
- 保存脚本到create_tls_certs.sh文件中,并把该脚本移动到/etc/docker目录中执行
sh create_tls_certs.sh
- 查看生成的证书和秘钥文件
修改配置文件开启docker远程连接及添加认证
vi /usr/lib/systemd/system/docker.service
除了添加开启远程连接
-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
还要指定CA证书和公钥地址
--tlsverify --tlscacert=/etc/docker/ca.pem --tlscert=/etc/docker/server-cert.pem --tlskey=/etc/docker/server-key.pem
重启docker让配置生效
systemctl daemon-reload systemctl restart docker
将证书及秘钥下载到本地
下载ca.pem,cert.pem和key.pem三个文件到本地
本地连接演示
- 指定下载的证书和秘钥的目录
注意我这里是使用的https://hello:2376,这个hello是我在生成证书的脚本中配置的
还需要配置本机的hosts
连接成功后的操作就和上面讲的不需要认证的操作一样~
推荐文章
Centos7 Docker配置TLS认证的远程端口的证书生成教程(shell脚本一键生成)
centos7为docker配置远程TLS验证,端口设定为2376
centos7 docker开启认证的远程端口2376配置教程
Docker 远程连接 -- dockerd 命令详解
Docker开启远程访问(非认证模式)
618推荐
【腾讯云】618云聚惠,百款云产品限量抢购,1核2G云服务器首年95元
https://cloud.tencent.com/act/cps/redirect?redirect=1059&cps_key=4af64fef8b27cbf2ed77ea881690abbd&from=console
Docker开启远程连接,本地IDEA使用docker插件连接(不认证的版本和认证的版本都有)的更多相关文章
- docker 开启远程
# vi /etc/init.d/docker 在start()中加入:$exec -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock -d & ...
- docker开启远程tcp监听端口
linux 测试成功 cat > /etc/systemd/system/docker.service.d/tcp.conf <<EOF [Service] ExecStart= E ...
- docker 部署 mongodb 并且开启远程连接
mongodb 使用 docker 部署 mongodb 拉取镜像 docker pull mongo 可以查看镜像是否下载成功 docker images | grep mongo 应该会有如下的显 ...
- Docker配置阿里云镜像加速器及开启远程连接
适用于CentOS-7版本 mkdir /etc/docker vim /etc/docker/deamon.json 添加以下内容配置镜像 { "registry-mirrors" ...
- Docker开启安全的TLS远程连接
目录 1.1 不安全的远程访问方式 1.1.1 编辑docker.service文件: 1.1.2 重新加载Docker配置生效 1.1.3 警告! 2.1 建立基于TLS数字签名的安全连接 1.1 ...
- CentOS7 docker开启tcp端口并进行客户端远程连接
#docker版本:18.09.0,最好保证客户端端口和服务端端口相同 [root@Centos7 ~]# dockerd-ce -v Docker version , build 4d60db4 网 ...
- ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(一)
ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(一) 本教程适用于想要在远程服务器上配置docker图形界面用于深度学习的用户. (一)ubuntu18.04配置n ...
- ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(三)
ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(三) 本教程适用于想要在远程服务器上配置docker图形界面用于深度学习的用户. (三)配置远程桌面连接访问dock ...
- ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(二)
ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(二) 本教程适用于想要在远程服务器上配置docker图形界面用于深度学习的用户. (二)nvidia docker配 ...
随机推荐
- 剑指 Offer 19. 正则表达式匹配
题目描述 请实现一个函数用来匹配包含'. '和'*'的正则表达式.模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(含0次).在本题中,匹配是指字符串的所有字符匹配整个模式. ...
- 【Gin-API系列】部署和监控(九)
本文是[Gin-API系列]的最后一篇文章,简单介绍如何在生产环境的部署架构和监控手段. 生产部署 部署架构 使用Nginx加Keepalived的方式搭建,可以达到高可用的效果,并可以横向扩容 如何 ...
- C004:要求用户输入一个美元数量,然后显示出增加5%税率后的相应金额
程序: #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { float amount; do{ printf(&q ...
- nginx安装第三方模块echo
要使用第三方模块ngx_echo的功能,请重新配置添加到nginx插件中 ##下载第三方模块 wget https://github.com/openresty/echo-nginx-module/a ...
- AWD攻防技战法
round1 弱口令 cat /etc/passwd 查看用户信息 修改用户密码(passwd username) 通过ssh弱口令批量getshell (通过msf的auxiliary/sca ...
- leetcode刷题-69x的平方根
题目 实现 int sqrt(int x) 函数. 计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去. 示例 1: 输入: 4输出: 2 思 ...
- 【GDKOI2004】汉诺塔
题目描述 古老的汉诺塔问题是这样的:用最少的步数将N个半径互不相等的圆盘从1号柱利用2号柱全部移动到3号柱,在移动的过程中小盘要始终在大盘的上面. 现在再加上一个条件:不允许直接把盘从1号柱移动到3号 ...
- 关键CSS和Webpack: 减少阻塞渲染的CSS的自动化解决方案
原文地址: Critical CSS and Webpack: Automatically Minimize Render-Blocking CSS 原文作者: Anthony Gore 译者: 蜗牛 ...
- Tomcat 第一篇:源码导入 IDEA 编辑器
1 引言 做 Java 的同学应该都见过上面这只名字叫 Tomcat 的猫,毕竟这只猫在过去和现在都是全球最流行的 Web 容器之一. 很有意思的一件事儿是从我接触这只猫开始,从来不知道它的中文名字是 ...
- Vue企业级优雅实战04-组件开发01-SVG图标组件
(后续的文章 公众号会提前一周更新,欢迎关注文末的微信公众号:程序员搞艺术) 预览本文的实现效果: # gitee git clone git@gitee.com:cloudyly/dscloudy- ...