docker 运行container时使用--net=host,如何连到container

问题描述

Docker在启动Container时如果用了--net=host参数,要如何连到Container内部?在默认使用bridge网络模式时可以在Dockerfile中添加CMD/usr/sbin/sshd&&start-app.sh

,这样就可以在Container启动时把sshd启动,就可以远程到container了。但是在host网络模式下,好像是行不通啊,看到有人说用exec,我试了下root@debian:/home/docker/videotracker-docker-debian7_32bit/kafka#dockerexec5684aa299c11/usr/sbin/sshd-p3333root@debian:/home/docker/videotracker-docker-debian7_32bit/kafka#ps-ef|grepsshdroot46310May07?00:00:00/usr/sbin/sshdroot6374630May07?00:00:03sshd:root@pts/2root18494630May07?00:00:03sshd:root@pts/5root227334630May08?00:00:00sshd:root@pts/7root227701009:56?00:00:00/usr/sbin/sshd-p3333root2277215033009:56pts/800:00:00grepsshdroot2701910May07?00:00:03sshd:root@pts/0root270335970May08?00:00:00/bin/sh-c/usr/sbin/sshd&&start-zk.shroot291015970May08?00:00:00/bin/sh-c/usr/sbin/sshd&&/usr/bin/start-kafka.sh

感觉好奇怪的,sshd没有在container运行,而是在hostos上运行了。有什么好的方法吗?

解决方案

解决方案二:
dockerexec-ityourContainerIdbash可以么
解决方案三:
应该是已经在container上运行了,但是在hostos上能看到进程.

时间: 2024-09-22 21:31:46

docker 运行container时使用--net=host,如何连到container的相关文章

linux下设置Docker运行时根目录

因第一次玩 Docker,装系统的时候没有分配 /var 分区,而500多G的剩余空间都分给了 /home. 当玩起 Docker,才发现这货默认存放位置是在 /var/lib/docker. 解决方法有二: 一是重装系统,这也太不人性化了,忽略...下次部署 Docker 宿主机的时候得好好分区下. 二是改变 Docker 默认存放路径. 查了下手册发现: -g, --graph="/var/lib/docker" 设置Docker运行时根目录 使用 --graph 参数:docke

【Container讲师】CoreOS+Kubernetes搭建Docker运行环境

2014年10月18日,CSDN&<程序员>主办的2014 Container技术大会(Container Conference 2014)将在北京召开,国内外Container技术人员和企业实践用户将首次齐聚北京.Docker.Google Kubernetes.VMware.CoreOS.国内互联网企业及初创技术团队的Container技术专家及一线开发者将分享他们在生产环境中的Container项目经验和最佳实践方案. 我们特别邀请到北京数字睿博科技发展有限公司创始人桂阳.他在2

设置Docker运行时根目录

因第一次玩 Docker,装系统的时候没有分配 /var 分区,而500多G的剩余空间都分给了 /home. 当玩起 Docker,才发现这货默认存放位置是在 /var/lib/docker. 解决方法有二:一是重装系统,这也太不人性化了,忽略...下次部署 Docker 宿主机的时候得好好分区下. 二是改变 Docker 默认存放路径. 查了下手册发现: -g, --graph="/var/lib/docker" 设置Docker运行时根目录 使用 --graph 参数:docker

《容器技术系列》一1.4 Docker运行案例分析

1.4 Docker运行案例分析 1.3节着重介绍了Docker架构中各个模块的功能,学完后我们可以对Docker的架构有一个宏观的认识.熟悉一款软件,研究一个系统,从静态的角度认识架构的各个模块,仅仅是第一步:从动态的角度,掌握软件或者系统的运行原理,即熟知架构中模块间的通信逻辑,无疑会让自己对软件或系统的理解更上一层楼.本节将从实际的Docker运行案例出发,串联Docker各模块,从而学习Docker的运行流程.分析原型为Docker中的docker pull与docker run两个命令

使用Docker运行Java Web应用

前言 Tomcat是目前比较流行的Web应用服务器,深受Java爱好者的喜爱.通常J2EE应用的产出物是一个war包,这篇文章将为你介绍如何使用Docker运行Tomcat+war包的Java Web应用,并比较其它几种方法的优缺点. 在生产环境中,我们推荐基于Tomcat的Docker容器来打包.运行您的Java应用,即在Tomcat的Docker镜像基础上构建应用镜像,Dockerfile如下所示: FROM tomcat:8 ADD your_app.war /usr/local/tomc

操作系统-ubuntu运行./configure时出错

问题描述 ubuntu运行./configure时出错 紧急求救,运行./configure时出现checking whether we are cross compiling... no. arm-linux-gcc已经安装过了,但任然无效. 解决方案 运行./configure --help看一下参数,这里你可能还要指定target来进行交叉编译,否则他默认做本平台的编译. 解决方案二: configure指定了crross编译的参数没 解决方案三: export CC=arm-linux-

open-VS 调试运行无法创建文件,直接在debug目录运行源程序时文件正常创建,是怎么回事?

问题描述 VS 调试运行无法创建文件,直接在debug目录运行源程序时文件正常创建,是怎么回事? VS 调试运行无法创建文件,直接在debug目录运行源程序时文件正常创建,是怎么回事? 我该了管理员权限运行VS 然后调试运行 文件还是没有创建,我跟踪了open()函数的返回值 为1 正确的,表明函数调用成功,可是我在debug目录下并没有发现文件啊? 是怎么回事? 解决方案 检查下你创建文件的相对路径是什么.如果你直接给文件名,那么调试的时候试图在program files下创建文件,这是不允许

运行“regedit”时提示:没有找到ACLUI.DLL

系统开机时有个程序自动运行,想进注册表去看到把它删除,运行"regedit"时提示:没有找到ACLUI.DLL因此这个应用程序未能启动,重新安装应用程序可能修复此问题. 根据提示是没有找到ACLUI.DLL,到c:windowssystem32目录下确实没有找到ACLUI.DLL.解决办法: 1.可以到前备份的GHO文件里提取出来,放在c:windowssystem32目录下. 2.可以从网上下载一个. 3.可以找QQ好友传一个过来. 4.可以从其它电脑复制一个过来.

运行游戏时提示”没有找到d3dx9

  很多人遇到dll文件被丢失首先想到的就是电脑被中毒了,电脑被入侵了.其实往往都是自己对电脑的认识不够深而导致遇到一些小故障就盲目不知道该如何下手.当然遇到没有找到d3dx9_43.dll我们该怎么办呢?下面就来好好认识这个d3dx9_43.dll文件.那么d3dx9_43.dll是什么文件? d3dx9_43.dll其实就是DirectX程序的一个文件,DirectX一般在我们日常游戏时都需要安装. 没有找到d3dx9_41.dll的解决办法? 方法一.在学无忧上面直接下载DirectX,下