你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
没有找到相关结果
Rock - 看不到底的底层,拼命向上的蜗牛
赞同来自: push
要回复问题请先登录或注册
打杂的!
3 个回复
Rock - 看不到底的底层,拼命向上的蜗牛
赞同来自: push
-d命令是设置detach为true,根据官方的文档,意思是让这个命令在后台运行,但并不是一直运行(我们在一个正常的Linux Terminal中运行/bin/bash,运行完了也就完了,不会一直挂着等待响应的,所以确实没办法用daemon方式来跑/bin/bash)。
这个地方官方早期和现在的文档也确实有些前后不一致,现在是detach,早期的文档说指定-d以daemon方式来运行容器,可能存在一定的误解。
另外,如果你需要跑容器里的bash,直接运行
docker run -i -t CONTAINER_NAME /bin/bash就可以了,如果觉得参数比docker attach多,可以设置一个别名(alias)来解决:
alias dockerbash='docker run -i -t CONTAINER_ID /bin/bash'设置好别名后,直接运行dockerbash就可以进入容器的bash了。
Rock - 看不到底的底层,拼命向上的蜗牛
我把文章拷贝过来了:
ssh远程登陆一个容器
----内容开始-----
启动了一个容器之后,我们可能需要用ssh登陆进去进行一些操作。为达到此目的,有2点需要保证:
容器必须处于运行状态。
openssh-server处于启动状态。
注意:以下示例是在ubuntu/13.10中完成的首先确保镜像安装有openssh-server服务
# 官方镜像一般没有安装ssh服务端,so,需要安装一个
apt-get install openssh-server # 设置一个初始密码 passwd 123 ...然后,提交镜像:
docker commit CONTAINER_ID NAME/VERSION最后,运行镜像,并让生成的容器一直在后台运行:
# 第一个-d表示让容器在后台运行
# 末尾的-D表示启动ssh的daemon模式,不然容器启动后立刻就变为停止状态了
docker run -d NAME/VERSION /etc/init.d/ssh start -D现在,便可以ssh登陆容器了。
# 查询容器IP
docker inspect CONTAINER_ID | grep IP # 登入 ssh root@IP
# 输入密码 123完成登陆
# 为保证安全,请即刻用passwd修改密码
Rock - 看不到底的底层,拼命向上的蜗牛