首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Docker中启动满容器?

在Docker中启动满容器?
EN

Stack Overflow用户
提问于 2013-10-12 17:27:50
回答 2查看 18.8K关注 0票数 27

根据this github issue的说法,应该可以使用Docker0.6或更高版本启动一个完整的容器,包括Upstart、cron等,但是我该怎么做呢?

我早就料到了

代码语言:javascript
复制
docker run -t -i ubuntu /sbin/init

的工作原理就像

代码语言:javascript
复制
lxc-start -n ubuntu /sbin/init

我将看到一个登录屏幕,但它却什么也没有显示。我也尝试过使用ssh访问它,但是没有成功。我使用的是Docker索引中的默认ubuntu镜像。

EN

回答 2

Stack Overflow用户

发布于 2013-11-20 21:03:58

对于我来说,0.6.6版本的docker run ubuntu /sbin/init似乎工作得无懈可击。你不会看到登录界面,因为Docker只管理这个过程。相反,您可以使用docker ps -notrunc获取完整的lxc容器ID,然后在该容器中以根用户身份使用lxc-attach -n <container_id> run bash。sshd没有安装在容器中,所以您不能ssh到它。

票数 22
EN

Stack Overflow用户

发布于 2016-02-05 21:37:13

您可以使用ubuntu-upstart镜像:

docker run -t -i ubuntu-upstart:14.04 /sbin/init

虽然这个解决方案不幸被弃用,但如果你需要一个像普通Ubuntu 12.04、14.04或14.10 (更改为:14.04位)系统那样‘驱动’的完整操作系统容器,它已经足够好了。如果未指定版本,则默认为14.04。我没有大量使用它,在安装更复杂的包(例如dbus!)时遇到了一些问题,但它可能对您有用。

遗憾的是,Ubuntu在最近的版本中切换到了systemd。谷歌显示,似乎正在进行的工作是让systemd在docker容器中工作,而不需要提升权限,但它似乎还没有完全准备好进入黄金时段。希望它能在16.04成为LTS时准备就绪。

另一种选择当然是使用phusion/baseimage,但它有自己的启动服务的方法。似乎更适合于最小的多进程容器。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19332662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档