【发布时间】:2014-11-18 19:16:10
【问题描述】:
我正在使用 Docker 将我的网络服务部署到 Google Compute Engine,并按照此处给出的说明进行操作:https://blog.golang.org/docker
我想在 golang 容器中安装 ffmpeg,我的方法是访问 shell
docker run -t -i my-webservice /bin/bash
与 ubuntu:14.04 映像相反,我无法访问 bash shell。怎么可能?
我还找到了一个图像,其中 ffmpeg 已经配置和安装 (https://registry.hub.docker.com/u/cellofellow/ffmpeg/)。是否可以从 golang 容器访问容器,还是必须将 ffmpeg 安装到我自己的 docker 映像中?
【问题讨论】:
-
你试过
/bin/sh吗? Bash 在 Linux 上不是必须的。可能安装了其他 shell,可能是 dash。 -
不幸的是,这也不起作用。我试过csh、tcsh、ksh、sh(假设安装在/bin)
-
虽然您可能应该尽可能地将 ffmpeg 安装合并到 Dockerfile 中,但如果您确实需要访问容器,请使用
nsenter包中的docker-enter。使用docker run --rm -v /usr/local/bin:/target jpetazzo/nsenter安装。请参阅github.com/jpetazzo/nsenter 了解更多信息。
标签: go docker google-compute-engine