宿主机访问操作docker方式

一、ssh访问

启动的时候需要把22端口隐射出来

docker run -t -i -d -p 8091:8080 -p 9527:22 --name tomcat4 tomcat-bases /bin/bash

二、nsenter

用来访问另一个进程的名字空间。nsenter要正常工作需要有root权限

为了连接到容器,你还需要找到容器的第一个进程的PID。

docker inspect --format "{{ .State.Pid }}" <container-id>

通过这个PID,你就可以连接到这个容器:

nsenter --target $PID --mount --uts --ipc --net --pid

三、Docker exec与Docker attach

1、Docker attach

Docker attach可以attach到一个已经运行的容器的stdin,然后进行命令执行的动作。 但是需要注意的是,如果从这个stdin中exit,会导致容器的停止。

使用方法 docker attach 容器ID

2、Docker exec

关于-i、-t参数

可以看出只用-i时,由于没有分配伪终端,看起来像pipe执行一样。但是执行结果、命令 返回值都可以正确获取。使用-it时,则和我们平常操作console界面类似。而且也不会像attach方式因为退出,导致 整个容器退出。 这种方式可以替代ssh或者nsenter、nsinit方式,在容器内进行操作。如果只使用-t参数,则可以看到一个console窗口,但是执行命令会发现由于没有获得stdin 的输出,无法看到命令执行情况。

使用方法:docker exec -ti  容器ID BASH命令

时间: 2024-08-28 11:56:01

宿主机访问操作docker方式的相关文章

宿主机访问virtualBox中Ubuntu

斌斌 (给我写信) 原创博文(http://blog.csdn.net/binbinxyz),转载请注明出处! 使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,不需要你进行任何其他的配置,只需要宿主机器能访问互联网,虚拟机系统通过宿主机器所在的网络来访问公网. 使用桥接模式的虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑.想让它们相互通讯,你就需要为虚拟系统配置IP地址和子网掩码,否则就无法通信. 当前主机使用无线网卡自动获取IP上网,网络信息如下: 虚拟机中的Ubu

Ubuntu下virtualbox nat网络模式下 实现宿主机访问虚拟机

参考原文(在windows环境下):http://hi.baidu.com/george_gly/item/5183b76e5a79e49ac5d2498b nat网络模式下,虚拟机可以访问外网.访问宿主机,但宿主机ping不通虚拟机ip,也无法ssh.ftp.http等方式访问虚拟机 如果是简单需求,可以通过virtualbox自带的端口转发功能实现,宿主机对虚拟机的访问 1.打开虚拟机设置中的网络项--> Port Forwarding 2.找到对应nat模式的网卡,点击下面的端口转发,增加

SecureCRT连接VirtualBox下的ubuntu以及NMP的搭建与通过宿主机访问该NGINX服务器过程

一直使用wamp作为开发环境,只是工作中时常会遇到在wamp下没问题但是提交到服务器生产环境会出现一些意想不到的情况,由此萌生了在本机搭建LNMP环境的想法,我个人不知道其他人的虚拟机搭建服务器环境是怎样的,但我被网上不少教程坑了好久,光卡在尝试用secureCRT连接ubuntu就花了两三个小时. 首先你要有个虚拟机已经安装好ubuntu,这个网上教程很多也很简单就越过了. 首先打开终端,输入指令sudo -i,密码,获得root权限,方便接下来办事. 1.apt-get update (更新

使用docker 原生overlay网络部署夸宿主机访问

要使用docker 原生的overlay,要满足任意的2个条件:1,docker 运行在swarm 模式2,使用键值存储docker 主机集群 这里使用consul 键值存储来部署节点1/键值存储(Server):192.168.1.198节点2(Client):192.168.1.1991,下载consul二进制包 进行部署(下载到server节点) wget https://releases.hashicorp.com/consul/0.9.2/consul_0.9.2_linux_amd6

windows宿主机访问ubuntu虚拟机中的docker服务

查看docker容器地址和虚拟机地址 windows主机中添加路由 #route -p add 172.17.0.0 mask 255.255.0.0 虚拟机地址 route -p add 172.17.0.0 mask 255.255.0.0 192.168.29.129 虚拟机中关闭防火墙 sudo ufw disable 主机访问tomcat容器测试 ping 172.17.0.2 原文地址:https://www.cnblogs.com/darange/p/11261540.html

Windows宿主机访问Ubuntu中mysql数据库笔记

1.网络 既然要远程ubuntu的系统.那么首先是两个网络是不是在一个网段.能不能ping的通? a)  Windows电脑上--cmd 打开命令窗口.键入:ipconfig 命令.查看主机IP. b)  ubuntu系统.ctrl + alt + F1打开命令终端.键入ifconfig 命令.查看ubuntu上网IP. c)  然后在ubuntu系统终端键入:ping +Windows上网的IP.查看是否ping的通.不可以则检查网络情况.以及是否在一个网段.ping的通在进行下一步 d) 

如何安装虚拟机并实现宿主机和客户机之间匿名共享访问

本次教程笔者要完成宿主机通过匿名访问方式访问虚拟机内部文件.在此之前首先需要安装虚拟机VMware软件. 下面以虚拟机VMware12安装为例,双击虚拟机安装程序如图: 点击下一步,如下图: 建议点击更改安装路径,将虚拟机安装在非系统盘,路径更改完毕,下方复选框默认不勾选,然后点击下一步: 取消勾选复选框再点击下一步: 勾选创建快捷方式,点击下一步: 点击安装,进行安装读条: 等待几分钟出现安装完成提示,点按许可证按钮: 出现输入注册码的提示页: 在里面输入你所购买的软件序列号,输入完毕即完成虚

Docker拷贝宿主机与容器中的文件

如果我们需要将宿主机文件拷贝到容器内可以使用 docker cp 命令,也可以将文件从容器内拷贝到宿主机 将宿主机文件拷贝到容器内 docker cp 要拷贝的宿主机文件或目录 容器名称:容器文件或目录 1. 在宿主机上创建一个mengxuegu文件并写入内容 2. 将mengxuegu文件拷贝进 mycentos2 容器中的 /opt 目录下(mycentos2要是UP启动状态) 3. 登录 mycentos2 容器,查看/opt目录下是否有 mengxuegu 文件 从容器内文件拷贝到宿主机

虚拟机安装、创建到实现虚拟机与宿主机互联

虚拟机安装.创建到实现虚拟机与宿主机互联 本次实验主要是为了介绍如何安装创建虚拟机,帮助虚拟机与宿主机配置同网段IP,实现宿主机与虚拟机互通,实现匿名every one的共享访问.具体步骤如下: 一. 首先从网上下载VMware12安装包打开等待安装进度条 单击下一步 点击安装 更改一下文件安装路径,建议不要放到系统盘(C:):,点击下一步 然后耐心等待.... 安装条到头之后取消勾选两项,点击下一步: 点击许可证,录入激活密匙: 安装完成,打开虚拟机,创建一个新的虚拟机: 然后点击自定义选项,