根据我到目前为止阅读的教程,使用" docker run -d"将从图像启动一个容器,容器将在后台运行.这就是它的样子,我们可以看到我们已经有了容器ID.
root@docker:/home/root# docker run -d centos
605e3928cdddb844526bab691af51d0c9262e0a1fc3d41de3f59be1a58e1bd1d
Run Code Online (Sandbox Code Playgroud)
但如果我跑" docker ps",则没有任何回复.
所以我试过" docker ps -a",我可以看到容器已经退出:
root@docker:/home/root# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
605e3928cddd centos:latest "/bin/bash" 31 minutes ago Exited (0) 31 minutes ago kickass_swartz
Run Code Online (Sandbox Code Playgroud)
我做错了什么?我该如何解决这个问题?
我现在正在尝试在Kubernetes集群上运行一个带shell(/ bin/bash)的简单容器.
我认为有一种方法可以通过使用pseudo-tty和分离选项(命令-td选项docker run)来保持容器在Docker容器上运行.
例如,
$ sudo docker run -td ubuntu:latest
Run Code Online (Sandbox Code Playgroud)
在Kubernetes有这样的选择吗?
我尝试使用如下kubectl run-container命令运行容器:
kubectl run-container test_container ubuntu:latest --replicas=1
Run Code Online (Sandbox Code Playgroud)
但容器会退出几秒钟(就像使用docker run上面提到的没有选项的命令启动一样).并且ReplicationController重复再次启动它.
有没有办法让Kubernetes上的容器像命令中的-td选项一样运行docker run?
我需要一种方法来使进程永远保持某个文件打开.这是我到目前为止的一个例子:
sleep 1000 > myfile &
它工作了一千秒,但实际上并不想做一些复杂的睡眠/循环声明.这篇文章暗示cat与sleep无限是一回事.所以我尝试了这个:
cat > myfile &
它几乎看起来像是一个错误不是吗?它似乎从命令行工作,但在脚本中文件连接没有保持打开状态.还有其他想法吗?
我正在使用tail -f/dev/null命令来保持容器.
该行本身放在一个前后有回声的脚本中.尾部-f/dev/null下的echo 预计是无法访问的,但出于某种原因我在日志中看到它.
一旦出现问题,每次重启容器都会导致容器启动并完成.只有rm和rebuild解决了这个问题.
我不确定它是否已连接,但我注意到在很短的时间内停止和启动计算机的一个问题帮助我重现了这个问题.
在什么情况下tail -f/dev/null可以继续下一行?
基本映像: ubuntu 64x,14.0.4
计算机操作系统: ubuntu 64x,14.0.4
ctypes.cdll.LoadLibrary()call 如何None作为参数传入?当我尝试下面的代码时,似乎math库自动加载:
>>> import ctypes
>>> lib = ctypes.cdll.LoadLibrary(None)
>>> lib.sin
<_FuncPtr object at 0x7f36dd65f430>
>>> lib.exp
<_FuncPtr object at 0x7f36dd65f4f8>
>>>
Run Code Online (Sandbox Code Playgroud)
如何在math未明确指定的情况下加载库?是否加载了标准库中的所有共享库?幕后发生的事情我不明白.
docker ×3
bash ×1
containers ×1
ctypes ×1
kubernetes ×1
python ×1
python-3.x ×1
ubuntu-14.04 ×1