在我的Pi上,我按照本教程在raspbian上安装了docker。这里有几个旁注:
- 我没有设置集群,我在docker信息处停了下来,(和其他指南一样)我成功地运行了hello世界容器
- idk(如果重要的话),但本指南(与其他指南不同)让我编辑
/etc/apt/sources.list
并添加行:deb https://download.docker.com/linux/raspbian/ stretch stable
在我的开发机器(win10)上,我使用本教程将docker配置和ymls添加到我的mern堆栈应用程序中。然而,在本教程的多个地方,他们希望我运行docker命令,所以我最终不得不安装DockerDesktop。
但我不想使用本地容器,我想在我的Pi上使用远程容器。所以我用这个教程来尝试和设置我的远程docker。
然而,我得到了一个错误:
C:\Users\oweng>docker机器创建-通用驱动程序--通用ip地址=192.168.1.2——通用ssh密钥"%主页%/.ssh/id_rsa"--通用ssh用户=pi远程docker主机正在运行创建前检查。。。正在创建计算机。。。(远程docker主机)正在导入SSH密钥。。。等待机器运行,这可能需要几分钟。。。正在检测已创建实例的操作系统。。。正在等待SSH可用。。。输入密钥的密码短语'C:\Users\oweng.docker\machine\machines\remote docker host\id_rsa':输入密钥的密码短语'C:\Users\oweng.docker\machine\machines\remote docker host\id_rsa':正在检测设置程序。。。输入密钥的密码短语'C:\Users\oweng.docker\machine\machines\remote docker host\id_rsa':创建机器时出错:检测操作系统时出错:无法识别操作系统类型
我在谷歌上搜索了一下这个错误,但还没有找到解决方案。
此外,当检查Pi(docker服务器)上的侦听端口时,我看不到它在运行
pi@raspberrypi:~$sudo lsof-i-P-n|grep LISTEN xrdp sesm 390root 7u IPv6 14566 0t0 TCP[::1]:3350(LISTEN)sshd
404 root 3u IPv4 17224 0t0 TC*:22(LISTEN
所以我觉得服务器可能没有运行?但它似乎是。
pi@raspberrypi:~$systemctl状态docker●docker.service-docker应用程序容器引擎已加载:已加载(/lib/systemd/system/doker.service;已启用;供应商预设:已启用)活动:自太平洋标准时间2020-11-03 07:18:21起活动(运行);3小时35分钟以前文档:https://docs.docker.com主PID:496(dockerd)任务:13 C组:/system.slice/docker.service└─496/usr/bin/dokerd-H fd://--containerd=/run/containerd/containerd.stock
11月3日07:18:14 raspberrypi dockerd【496】:时间=";2020-11-03T07:18:14.064113743-08:00";level=警告消息="你的内核不支持cgroup blkio throttle。w 11月3日07:18:14raspberrypi-dockerd[496]:时间=";2020-11-03T07:18:14.064249212-08:00";level=警告消息="您的内核不支持cgroup blkio油门。r 11月3日07:18:14 raspberrypi dockerd[496]:时间=";2020-11-03T07:18:14.064373483-08:00";level=警告消息="你的内核不支持cgroup blkio throttle。w 11月3日07:18:14raspberrypi-dockerd[496]:时间=";2020-11-03T07:18:14.066367493-08:00";level=info msg=";装载容器:开始"11月3日07:18:17raspberrypi-dockerd[496]:时间=";2020-11-03T07:18:17.612685200-08:00";level=info msg=";为默认网桥(docker0)分配了一个IP地址:11月3日07:18:18 raspberrypi dockerd【496】:时间=";2020-11-03T07:18:18.710629367-08:00";level=info msg=";正在加载容器:完成"11月3日07:18:20 raspberrypi dockerd【496】:时间=";2020-11-03T07:18:20.815943637-08:00";level=info msg=";Docker守护进程";commit=4484c46 graphdriver=overlay2 v Nov 03 07:18:20raspberrypi-dockerd[496]:时间=";2020-11-03T07:18:20.822947178-08:00";level=info msg=";Daemon已完成初始化";11月3日07:18:21raspberrypi-systemd1:已启动Docker应用程序容器引擎。11月3日07:18:21 raspberrypi dockerd【496】:时间=";2020-11-03T07:18:21.273201136-08:00";level=info msg=";API监听on/var/run/docker.sock";
更新1
在这篇SO文章之后,我似乎能够让服务器运行起来。正在编辑docker.service文件。我现在在尝试创建时遇到了一个不同的错误
C:\Users\oweng>docker机器创建-通用驱动程序--通用ip地址=192.168.1.2:2137——通用ssh密钥"%主页%/.ssh/id_rsa"--通用ssh用户=pi远程docker主机正在运行创建前检查。。。正在创建计算机。。。(远程docker主机)正在导入SSH密钥。。。等待机器运行,这可能需要几分钟。。。创建计算机时出错:等待计算机正在运行:超过的最大重试次数(60)
Update2BMitch的评论让我看到了这两个教程,这似乎正是我想要做的https://code.visualstudio.com/docs/containers/sshhttps://code.visualstudio.com/docs/containers/choosing-dev-environment#_remote-机器
我不会使用docker-machine
。对该工具的支持似乎正在消失,而且有更简单的方法。
最简单的方法是将机器上的DOCKER_HOST
设置为远程节点的ssh设置:
export DOCKER_HOST=ssh://user@host
docker info # should now show the remote host if you have ssh access
如果你发现自己在节点之间变化很大,我建议你设置一个上下文,然后不设置DOCKER_HOST:
unset DOCKER_HOST
docker context create rpi --description "Pi" --docker "host=ssh://user@host"
docker --context rpi info
然后,您可以使用使上下文成为新的默认值
docker context use rpi
并使用切换回本地/默认docker引擎
docker context use default