设置远程docker服务器时出错



在我的Pi上,我按照本教程在raspbian上安装了docker。这里有几个旁注:

  1. 我没有设置集群,我在docker信息处停了下来,(和其他指南一样)我成功地运行了hello世界容器
  2. 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

相关内容

最新更新