如何让docker以daemon方式运行/bin/bash

Posted 坏~牧羊人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让docker以daemon方式运行/bin/bash相关的知识,希望对你有一定的参考价值。

本文转自:https://segmentfault.com/q/1010000000424935

问题:

我想在docker run的时候,用-d参数运行/bin/bash,然后让这个bash一直跑着,我要用的时候就docker attach上去。但是我一跑docker run -d .... /bin/bash,这个容器就运行结束停下来了。这是为毛啊,有啥解决方案没。

解决:

我自己也遇到这个问题。不过不同的时,我希望docker run的时候,可以让容器一直在后台运行,并允许我远程登陆进去操作。

我把文章拷贝过来了: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 [email protected]
# 输入密码 123完成登陆
# 为保证安全,请即刻用passwd修改密码

 

以上是关于如何让docker以daemon方式运行/bin/bash的主要内容,如果未能解决你的问题,请参考以下文章

怎么在docker 中启动一个daemon

为啥运行docker命令返回"/var/run/docker.sock"权限拒绝

如何避免Docker容器启动脚本运行后自动退出

生产环境中tomcat的配置

Docker 与 K8S学习笔记—— 容器的操作(上篇)

守护态运行Docker容器