从映像创建Docker容器而不启动它

马歇尔·安舒兹(Marshall Anschutz)

作为部署策略的一部分,我正在使用Upstart管理Docker容器。

为此,我需要从注册表中提取图像并创建一个命名容器(如Upstart脚本上建议的那样,运行容器不会管理生命周期

是否有一种无需先运行映像即可创建容器的方法?我不想启动一个容器(可能会带来副作用),停止它,然后在其他地方进行管理。

例如,类似:

docker.io create -e ENV1=a -e ENV2=b -p 80:80 --name my_first_container sample/containe
列昂尼德·米尔斯基

您可以使用Docker Remote API来实现

首先调整docker daemon的运行方式。除了默认的unix套接字外,还配置它以侦听端口4243上的HTTP请求:

sudo sh -c "echo 'DOCKER_OPTS=\"-H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock\"' > /etc/default/docker"

现在,您可以使用/containers/create端点创建容器而不运行它:

curl -X POST -H "Content-Type: application/json" http://localhost:4243/containers/create?name=my_first_container -d '
{
    "Name": "dtest2",
    "AttachStdin": "false",
    "AttachStdout": "false",
    "AttachStderr": "false",
    "Tty": "false",
    "OpenStdin": "false",
    "StdinOnce": "false",
    "Cmd":["/bin/bash", "-c", "echo Starting;sleep 20;echo Stopping"],
    "Image": "ubuntu",
    "DisableNetwork": "false"
}
'

请注意?name=my_first_container我添加到curl请求url中参数。这就是您命名容器的方式。

旁注-无需添加HTTP接口就可以实现同样的目的,但是使用简单的curl POST请求似乎更容易显示解决方案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Docker Swarm 不创建容器

来自分类Dev

如何重新启动Docker容器/映像/机器?

来自分类Dev

提交后Docker映像大小与容器大小不匹配

来自分类Dev

在不旋转容器的情况下压缩docker映像

来自分类Dev

保存Docker容器映像

来自分类Dev

Docker 文件未在容器内找到错误以创建新映像

来自分类Dev

在不启动容器的情况下启动 Docker

来自分类Dev

Docker容器第二次不启动(iptables)

来自分类Dev

Docker映像创建

来自分类Dev

Docker -it命令与Docker映像或Docker容器相关

来自分类Dev

在已提交的Docker映像中找不到在Docker容器中创建的数据库和集合

来自分类Dev

Docker容器映像中的二进制文件未明确调用时未启动

来自分类Dev

启动时在Docker容器中创建环境变量

来自分类Dev

如何在无法启动的 Docker 容器中创建目录?

来自分类Dev

容器不运行时如何进入Docker映像文件系统

来自分类Dev

尝试在Docker中启动映像

来自分类Dev

从Docker映像启动Jupyter Notebook

来自分类Dev

启动映像时的Docker错误

来自分类Dev

Fossology Docker映像无法启动

来自分类Dev

Docker 映像未正确启动

来自分类Dev

无法启动Docker容器

来自分类Dev

Docker容器未启动

来自分类Dev

Docker容器无法启动

来自分类Dev

创建引用Github软件包上的映像的Github Docker容器操作

来自分类Dev

何时应使用Kubernetes Replication Controller创建多个Docker容器映像实例?

来自分类Dev

从映像创建容器时,Docker显示不一致的行为

来自分类Dev

创建不带源映像(OS)的Docker映像

来自分类Dev

Docker不链接容器

来自分类Dev

Docker不链接容器