Modifying golang Docker Container using the running shell

I’m using Docker to deploy my web service to Google Compute Engine and I’m following the instructions given here: https://blog.golang.org/docker

I want to install ffmpeg in the golang container and my approach is to get access to the shell as

  • supervisord: is it possible to redirect subprocess stdout back to supervisord?
  • Error when creating a NGINX reverse proxy on docker and sending a request to website in another container
  • Ubuntu nginx container 403 forbidden
  • How to resolve SG Client's ENOTFOUND error
  • Best practices for debugging vagrant+docker+flask
  • Docker : find sendmail in other container
  • docker run -t -i my-webservice /bin/bash

    In contrary to the ubuntu:14.04 image, I don’t get access to the bash shell. How can that be?

    I have also found an image, where the ffmpeg is already configured and installed (https://registry.hub.docker.com/u/cellofellow/ffmpeg/). Is it possible to get access to the container from the golang container or do I have to install ffmpeg into my own docker image?

  • Error in Docker: bad address to executables
  • PHP FPM Docker ZF1: The session has already been started. The session id must be set first
  • Can I use Docker simply to set up the general environment of an EC2 instance?
  • How to write an Ansible playbook with Docker-compose
  • Dokku recognizes my Node.js app as Go app on deploy
  • I started a docker container with --rm Is there an easy way to keep it, without redoing everything?
  • 2 Solutions collect form web for “Modifying golang Docker Container using the running shell”

    A better approach would be to install ffmpeg to your golang container by adding a RUN to your Dockerfile, like


    RUN apt-get update
    RUN apt-get install -y ffmpeg

    The words modifying, Docker Container, running shell, kind of contradicts the meaning of Docker.

    Installing ffmepeg is not as simple if additional codecs need to be installed as well, being the reason that I would like to play around using the shell before writing the docker script (copying the Docker script from cellofellow/ffmpeg works).

    An answer to the problems are described here: https://github.com/docker-library/golang/issues/27

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.