相关疑难解决方法(0)

如何输入已经使用新TTY运行的Docker容器

我有一个在前台运行Apache服务的容器.我希望能够从另一个shell访问容器,以便在其中"查找"并检查文件.目前,如果我附加到容器,我只是看着Apache守护进程,无法运行任何命令.

是否可以将另一个tty附加到正在运行的容器上?可能,我可以利用Docker实际上只是环绕LXC容器这一事实?我试过sudo lxc-console -n [container-id] -t [1-4]但似乎只有一个tty可用,那就是运行apache守护进程的tty.也许有一种方法可以在构建期间启用多个lxc控制台?

如果可能的话,我宁愿使用openssh服务配置和构建容器.

tty docker

501
推荐指数
6
解决办法
35万
查看次数

如何在已有的Docker容器上运行命令?

我创建了一个容器,-d因此它不是交互式的.

docker run -d shykes/pybuilder bin/bash
Run Code Online (Sandbox Code Playgroud)

我看到容器已退出:

CONTAINER ID        IMAGE                     COMMAND             CREATED             STATUS                      PORTS               NAMES
d6c45e8cc5f0        shykes/pybuilder:latest   "bin/bash"          41 minutes ago      Exited (0) 2 seconds ago                        clever_bardeen
Run Code Online (Sandbox Code Playgroud)

现在我想在机器上运行偶尔的命令并退出.只是为了得到答复.

我试着启动机器.我试着附上.我以为我可以run用容器打电话,但似乎不允许这样做.使用start似乎只是运行然后快速存在.

退出后我想回到交互模式.

我试过了:

docker attach d6c45e8cc5f0
Run Code Online (Sandbox Code Playgroud)

但我得到:

2014/10/01 22:33:34 You cannot attach to a stopped container, start it first
Run Code Online (Sandbox Code Playgroud)

但是,如果我开始它,它无论如何都会退出.抓住22.我无法获胜.

docker

447
推荐指数
12
解决办法
49万
查看次数

你如何附加和脱离Docker的过程?

我可以附加到一个docker进程但是Ctrl+ c不能从它分离.exit基本上停止了这个过程.

建议的工作流程是什么,让流程运行,偶尔附加到它上进行一些更改,然后分离?

docker

418
推荐指数
9
解决办法
33万
查看次数

是否可以在正在运行的容器中启动shell会话(没有ssh)

我天真地期望这个命令在一个正在运行的容器中运行一个bash shell:

docker run "id of running container" /bin/bash
Run Code Online (Sandbox Code Playgroud)

它看起来不可能,我得到错误:

2013/07/27 20:00:24 Internal server error: 404 trying to fetch remote history for 27d757283842
Run Code Online (Sandbox Code Playgroud)

所以,如果我想在一个正在运行的容器中运行bash shell(例如用于诊断目的)

我必须在其中运行SSH服务器并通过ssh登录吗?

docker

335
推荐指数
6
解决办法
23万
查看次数

为什么docker容器会立即退出

我在后台运行一个容器

 docker run -d --name hadoop h_Service
Run Code Online (Sandbox Code Playgroud)

它快速退出.但如果我在前台运行,它运行正常.我使用了检查日志

docker logs hadoop
Run Code Online (Sandbox Code Playgroud)

没有错误.有任何想法吗?

DOCKERFILE

 FROM java_ubuntu_new
 RUN wget http://archive.cloudera.com/cdh4/one-click-install/precise/amd64/cdh4-repository_1.0_all.deb
 RUN dpkg -i cdh4-repository_1.0_all.deb
 RUN curl -s http://archive.cloudera.com/cdh4/ubuntu/precise/amd64/cdh/archive.key | apt-key add -
 RUN  apt-get update
 RUN apt-get install -y hadoop-0.20-conf-pseudo
 RUN dpkg -L hadoop-0.20-conf-pseudo
 USER hdfs
 RUN hdfs namenode -format
 USER root
 RUN apt-get install -y sudo
 ADD . /usr/local/
 RUN chmod 777 /usr/local/start-all.sh
 CMD ["/usr/local/start-all.sh"]
Run Code Online (Sandbox Code Playgroud)

start-all.sh

 #!/usr/bin/env bash
 /etc/init.d/hadoop-hdfs-namenode start
 /etc/init.d/hadoop-hdfs-datanode start
 /etc/init.d/hadoop-hdfs-secondarynamenode start
 /etc/init.d/hadoop-0.20-mapreduce-tasktracker start
 sudo -u hdfs hadoop fs …
Run Code Online (Sandbox Code Playgroud)

docker

202
推荐指数
10
解决办法
23万
查看次数

标签 统计

docker ×5

tty ×1