Estos son algunos comandos básicos de Docker:
Consulte también:https://github.com/wsargent/docker-cheat-sheet
Instalación del último entorno Docker en Linux:
curl -sSL https://get.docker.com/ | sh
Inicie la terminal docker en OSX
bash --login '/Applications/Docker/Docker Quickstart Terminal.app/Contents/Resources/Scripts/start.sh'
Información: Los nombres de contenedores sin '/' en el nombre se refieren a plantillas de contenedores públicos básicos
Los nombres de contenedores con '/' se refieren a contenedores de usuario en el formato:nombre de usuario/Contenedor básico
Los nombres de contenedores con ':' se refieren a una etiqueta que normalmente se usa como subversión de contenedores básicos/de usuario
Buscar imágenes en el repositorio de Docker de Internetdocker search ubuntu
Descargue una imagen de docker desde Internet al repositorio localdocker pull ubuntu:14.04
Mostrar imágenes de la ventana acoplable local:docker images
Ejecute una imagen hecha por usted mismo (mi nombre/ubuntu:tmpl_1) en el fondo dando al contenedor el nombre MyUbuntudocker run -itd --name=MyUbuntu myname/ubuntu:tmpl_1
Adjunte a un contenedor para trabajar en él (presione 2 x Enter para obtener bash después)docker attach MyUbuntu
Para salir de un contenedor sin que se detenga automáticamente:CTRL-P + CTRL-Q
Cuando se emite un ^D (o comando de salida) en un contenedor bash, el contenedor se detiene. Para reiniciarlo, por ejemplo, docker start MyUbuntu
Listar los contenedores en ejecucióndocker ps
Lista de todos los contenedores docker (en ejecución y detenidos)docker ps -a
Notas sobre la ejecución de contenedores:docker run -t -i
→ puede separarse con ^P^Q y volver a adjuntarse con docker addeddocker run -i
→ no se puede separar con ^P^Q; interrumpirá stdindocker run
→ no se puede separar con ^P^Q; puede SIGKILL cliente; puede volver a adjuntar con la ventana acoplable adjunta
SOLUCIÓN DE PROBLEMAS:
1) Si recibe este mensaje de error después de dar un comando de docker:Error response from daemon: client is newer than server (client API version: x.xx, server API version: y.yy)
Simplemente ejecute el siguiente comando para sincronizar sus versiones:docker-machine upgrade
Creación de una nueva imagen Docker local a partir de una imagen extraída pública (Internet)
#### El método COMMIT ####
Ejecute el contenedor en función de esta imagendocker run -t -i ubuntu:14.04 /bin/bash
Nota:Recuerde el ID del contenedor que se encuentra en el aviso de bash (necesario para crear uno nuevo basado en este)
p. ej. root@ba7cbe2cd3ce:/# (ba7cbe2cd3ce es el ID del contenedor)
Instale los paquetes de software deseados (apt-get update &&apt-get install…. )
p. ej. apt-get actualizar &&apt-get -y actualizar; apt-get install mc ssh fail2ban nmap ngrep iftop iotop htop
Cuando termine, detenga el contenedor desconectándose de bash conexit or ^D
Ahora guarde la nueva imagen localmente:docker commit -m "My special container template" -a "My Name" ba7cbe2cd3ce myname/ubuntu:v001
Esto guardará localmente el contenedor modificado como una nueva imagen llamada:myname/ubuntu:v001
Para verificar:docker images
#### El método 'Dockerfile'
Cree un directorio donde cree un archivo especial llamado Dockerfile
donde se escribirán las instrucciones sobre cómo construir la nueva imagen.mkdir ubuntu_template_001
cd ubuntu_template_001
touch Dockerfile
mcedit Dockerfile
————– Contenido —————-# This is a comment
FROM ubuntu:14.04
MAINTAINER My Name <mmyname @mydomain.com>
RUN apt-get update && apt-get install -y mc ssh fail2ban nmap ngrep iftop iotop htop
RUN apt-get -y install postfix
– Guarde el archivo y luego ejecute el siguiente comando para crear la imagen:docker build -t myname/ubuntu_template_001 .
Nota:El '.' al final del comando indica dónde está el Dockerfile
Se le presentarán todos los resultados de la instalación y la ID de la imagen al final de la siguiente manera:
—> 8578743d7b30
– Echamos un vistazo a todas las imágenes creadas:docker images
Resultado:
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
<none> <none> 8578743d7b30 3 minutes ago 290 MB
myname/ubuntu v001 9bc5a639a1de 20 minutes ago 318.6 MB
– Vemos que la Imagen con ID 8578743d7b30 no tiene nombre ni etiqueta.
Ahora le damos nombre:tagdocker tag 8578743d7b30 myname/ubuntu:v002
– Vuelva a comprobar la lista de imágenes:docker images
Resultado: REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
myname/ubuntu v002 8578743d7b30 16 minutes ago 290 MB
myname/ubuntu v001 9bc5a639a1de 33 minutes ago 318.6 MB
– Ahora podemos ejecutar un contenedor basado en esta nueva imagendocker run -it --name "Server2" myname/ubuntu:v002 bash -c 'service ssh start ; ifconfig eth0; bash'
Eliminar una imagen del repositorio localdocker rmi michel/ubuntu:v002
Eliminación de un contenedor del sistema docker localdocker rm ContainerName
odocker rm ContainerID
Para ejecutar un programa dentro de un contenedor en ejecución pero no adjunto:docker exec -t -i ContainerName bash -c 'command'