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:

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

  • impossible to delete a container
  • How can I connect snort and snorby in docker environment?
  • How to watch xvfb session that's inside a docker on remote server from my local browser?
  • Can't attach terminal to a running container in docker
  • How do I expose ports in Docker on Windows 10?
  • Cannot stop or restart a docker 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 ( 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?

  • docker container naming pattern
  • Putting databases in their own Docker containers?
  • Dockerfile for Yesod deployment
  • How does a remote server with docker images know when to pull a new image built with a CI tool?
  • Docker Update Secrets via API
  • docker container fails to start after docker deamon has been restarted
  • 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:

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