Aquesta és una revisió antiga del document
instrucciones Dockerfile
volumes
docker run -v $PWD:/var/www/html/ <imagen>: mapea $PWD al directorio indicado dentro del contenedordocker exec -it <contenedor_id> bash: acceder al contenedor
los volúmenes se usan para persistencia, ya que un contenedor cuando se para, todo lo que hubiese se pierde.
label
label key=value: etiquetas a las imágenes (para posterior filtrado)
arg
arg key=value: variables de uso interno
env
env key=value: variables de entorno en el contenedor (para nuestra app)
add
add <origen> <destino>: copia un fichero o una URL en el destino- es un copy on steroids
- también descomprime un tgz o similar directamente
- CREA UNA LAYER (como RUN y COPY)
expose
expose 80/tcp: informativo (de cara a quien trabaje con esa imagen y a docker para trabajar con el-P(mapeo automático de puertos))
workdir
workdir /app: cd al directorio
imágenes alpine
- nginx:latest VS nginx:1.15-alpine
- las versiones alpine están basadas en la imagen alpine, muy ligera
user
USER <user||uid>: cambiar de usuarioRUN useradd -u 1001 -m -g root dani- en openshift siempre ha de estar el usuario añadido al grupo de root
#!/bin/bash for arg in "$@" do find "$arg" -exec chgrp 0 {}\; find "$arg" -exec chmod g+rw {}\; find "$arg" -type d -exec chmod g+x {}\; done
si extendemos de una imagen que ha cambiado el USER y nosotros hemos de realizar cambios, hemos de hacer el cambio a USER root, hacemos lo que necesitemos y lo volvemos a dejar con el usuario que toque