¿Cuál es la mejor forma de rebuild los parameters del command de docker run
del acoplador desde el contenedor acoplable existente? Podría usar docker inspect
y usar la información que se encuentra allí. ¿Hay alguna forma mejor?
No es muy fácil, pero puedes hacerlo formateando la salida de docker inspect
. Para un contenedor iniciado con este command:
> docker run -d -v ~:/home -p 8080:80 -e NEW_VAR=x --name web3 nginx:alpine sleep 10m
Puede extraer los volúmenes, la asignación de puertos, las variables de entorno, el nombre del contenedor, el nombre de la image y el command con:
> docker inspect -f "V: {{.Mounts}} P: {{.HostConfig.PortBindings}} E:{{.Config.Env}} NAME: {{.Name }} IMAGE: {{.Config.Image}} COMMAND: {{.Path}} {{.Args}}" web3
Eso te da la salida:
V: [{ /home/scrapbook /home true rprivate}] P: map[80/tcp:[{ 8080}]] E:[NEW_VAR=x PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin NGINX_VERSION=1.11.5] NAME: /web3 IMAGE: nginx:alpine COMMAND: sleep [10m]
Que es un comienzo.
El capitán de Docker, Adrian Mouat, tiene una excelente publicación de blog sobre el formatting de la salida: Docker Inspect Template Magic .