曾经需要完成一个SSH到Windows docker container里的需求(这个需求听上去就很神奇有木有),就对Windows docker研究了一段时间,当时查阅了很多资料,感觉没有看到很系统总结的文章,所以决定在这里自己总结下。先后尝试了两种远程连接到Windows docker的方法,一种是通过dockertls远程连接到你要连接的docker host(docker daemon)上;另一种是通过SSH远程连接到特定的docker container中。本文我们讲讲dockertsl,下一篇文章我们将SSH的方式。
这个方式比较简单直接,如果你有remote Windows docker的需求,推荐用这个方式,毕竟这也是Azure的官方方法:
准备两台都装有docker的机器,一台是你需要连接的host,一台我们就算普通machine
-
通过
dockertls
生成证书,这里会需要用到你的host的IP地址,最好先整一个静态IP,不然IP一换,你就又要重新生成一个新的证书了。
-
在container上找一个你喜欢的folder,执行以下代码:
mkdir server
mkdir client\.docker
docker run --rm `
-e SERVER_NAME=$(hostname) `
-e IP_ADDRESSES=127.0.0.1,<your IP address> `
-v "$(pwd)\server:c:\programdata\docker" `
-v "$(pwd)\client\.docker:c:\users\containeradministrator\.docker" stefanscherer/dockertls-windows
dir server\certs.d
dir server\config
dir client\.docker
然后你就会在相应的目录里看到生成的证书啦
- 把生成的证书copy到你要用来远程登录的machine上,放在你的user目录下,比如说C:\user\yiran\ .docker
- 修改machine docker的daemon.json文件,加上:
"tlsverify": false,
- 保证2375和2376这两个TLS的端口允许访问
New-NetFirewallRule -DisplayName 'Docker SSL Inbound' -Profile @('Domain', 'Public', 'Private') -Direction Inbound -Action Allow -Protocol TCP -LocalPort 2376
- 重新启动docker service,用管理员权限在powershell输入Restart-Service Docker
然后就可以来测试看看了,在你的machine上面执行:
docker -H tcp://wsdockerhost.southcentralus.cloudapp.azure.com:2376 --tlsverify=0 version
不出意外你就可以在上面敲打docker命令来操作host机器上的docker container了。
https://docs.microsoft.com/en-us/virtualization/windowscontainers/management/manage_remotehost
https://hub.docker.com/r/stefanscherer/dockertls-windows/
前言曾经需要完成一个SSH到Windows docker container里的需求(这个需求听上去就很神奇有木有),就对Windows docker研究了一段时间,当时查阅了很多资料,感觉没有看到很系统总结的文章,所以决定在这里自己总结下。先后尝试了两种远程连接到Windows docker的方法,一种是通过dockertls远程连接到你要连接的docker host(docker daemo...
Docker 开启SSL证书加密远程链接1. 使用openssl 制作证书密钥1.1. 在服务器中新建目录/etc/docker,并切换到该目录下1.2. 创建根证书RSA私钥:1.3. 创建CA证书1.4. 创建服务端私钥1.5. 创建服务端签名请求证书文件1.6. 创建签名生效的服务端证书文件1.7. 创建客户端私钥1.8. 创建客户端签名请求证书文件1.9. 创建extfile.cnf的配置文件1.10. 创建签名生效的客户端证书文件1.11. 删除多余文件2. 配置Docker支持TSL链接2.1. 编辑docker.service配置文件2.2. 刷新配置,重启Docker3. 验证
Windows开启Docker远程访问
Docker是用于创建容器化应用程序的完整开发平台。 Docker Desktop是在Windows上开始使用Docker的最佳方法。Windows版Docker桌面部分包含有关Docker桌面社区稳定版的信息。
下载&安装
官网下载地址 Docker Desktop for Windows
开启docker的远程连接
By default, i...
Docker是什么?
Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。
总体来说,Docker 的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。
更多Docker详情请参考:Docker 入门教程
Windows下的Docker安装
1.Docker为Windows提供了一款软件
docker desktop(Windows)使用docker login远程登录Harbor私有镜像仓库解决自动访问https报错问题0、环境说明1、遇到的问题2、问题解决方法-网上查阅的3、正确的解决方法4、重新执行docker login,并push本地镜像至远程harbor仓库
0、环境说明
harbor私有镜像仓库部署在华为云ECS上
本机电脑环境是windows10 + docker desktop + IDEA(spring boot + spring cloud项目)
需要把Java项目
现如今微服务越来越普遍,各种不同技术的学习需要不同的环境,学习docker容器技术也就越发重要。依赖于已存在并运行的 Linux 内核环境,但是个人的设备基本都是基于window系统的,本文就是参考官网,安装window版docker,并结合 WLS来进一步模拟linux中操作docker。
环境: window 10 enterprise版
Step 1 -- 启用Hyper-V
方法 1 : 从设置选项中启动 应用和功能( Apps and Futrues)
打开控制面板 --> 左击 ‘
sudo docker run -d -p 2375:2375 --restart=always --name docker_remote docker/dind
这将启动一个 Docker 守护进程,并将其绑定到本地主机的 2375 端口。
3. 然后,在远程主机上启动 Docker 守护进程。
4. 接下来,在本地主机上运行以下命令,以连接到远程 Docker 守护进程:
export DOCKER_HOST=tcp://remote_host_ip:2375
其中,remote_host_ip 是远程主机的 IP 地址。
5. 现在,您就可以使用本地主机上的 Docker 命令来管理远程主机上的 Docker 容器了。
注意:要使用远程 Docker,您需要具有远程主机上的 root 权限。
希望这对您有帮助!