SSH从Docker容器到LAN上的服务器
我有一个应用程序,可以生成运行在Docker容器中的图像文件。 生成映像后,我希望将其复制到局域网上的另一台服务器SSH从Docker容器到LAN上的服务器,docker,docker-compose,Docker,Docker Compose,我有一个应用程序,可以生成运行在Docker容器中的图像文件。 生成映像后,我希望将其复制到局域网上的另一台服务器 我正在尝试使用SCP在我的LAN上创建一个静态IP,但容器无法看到它。如何向容器公开LAN IP?您需要使用-p命令和docker绑定端口。如果端口已在使用中,请尝试其他端口。所以:docker run-p22:24如果再次出现这种情况,您需要做的是查看端口22上运行的是什么。您可以通过sudo lsof-i-P-n | grep LISTEN或针对特定端口:sudo lsof-i
我正在尝试使用SCP在我的LAN上创建一个静态IP,但容器无法看到它。如何向容器公开LAN IP?您需要使用-p命令和docker绑定端口。如果端口已在使用中,请尝试其他端口。所以:
docker run-p22:24
如果再次出现这种情况,您需要做的是查看端口22上运行的是什么。您可以通过sudo lsof-i-P-n | grep LISTEN
或针对特定端口:sudo lsof-i:22
在此处发布我的解决方案,以防它对其他人有帮助
我的问题是如何将Docker包含的应用程序生成的文件复制到LAN机器
我找到的解决方案是在这里使用Samba share Docker:
我的应用程序与Samba容器共享一个卷,我的LAN机器连接到共享的Samba目录。它比使用ssh更健壮,而且似乎比使用网桥网络IMO要简单得多你可以使用
--network=host
或者更好的docker cp
本地主机然后scp
你有没有公开ssh端口?如果我在docker compose文件中绑定端口22:22,它会抱怨地址已经在使用我正试图将scp用于我局域网上的静态IP,但是容器看不到它,这意味着什么,容器确实可以访问外部静态ip。请展示你所做的,错误是什么。如果您在这方面的进展不包括--network=host
请更新您的帖子:)如果您绑定了主机的端口22,那么在docker容器停止之前,您将无法通过ssh连接到它。您不需要docker run-p
选项从容器建立出站连接。