Crea un espejo
A veces, la imagen descargada del almacén de duplicados de Docker no cumple con nuestros requisitos. En este momento, puede encapsular su propia imagen basada en esta imagen (imagen base)
Dos caminos:
- Actualice la imagen: use el comando docker commit
- Construya la imagen: use el comando docker build, necesita crear un archivo Dockerfile
Actualizar espejo
Primero use la imagen básica para crear un contenedor, luego modifique el contenedor y finalmente use el comando de confirmación para enviar como una nueva imagen
paso:
- Crea un contenedor basado en la imagen base
docker run --name tomcat -p 8080:8080 -d tomcat
- Modificar el contenedor
docker exec -it ac848f0af7d8 /bin/bash
cd webapps/ROOT
rm -f index.jsp
echo welcome to tomcat > index.html
exit
- Enviar como una nueva imagen, sintaxis: docker commit m = "mensaje de descripción" a = "autor" Identificación del contenedor o nombre del contenedor Nombre de la imagen: etiqueta
docker commit -m="test" -a="v_lysvliu" ac848f0af7d8 itany/tomcat:v1
- Ejecute el contenedor con la nueva imagen
docker run name tomcat_v1 p:8080:8080 d itany/tomcat:v1
Crear imagen
Cree automáticamente un espejo basado en el archivo Dockerfile.
Dockerfile es un archivo de texto que contiene todos los comandos para crear un espejo. Utilice el comando docker build para crear un espejo basado en el contenido del Dockerfile.
paso:
- Crear un archivo Dockerfile vi Dockerfile
# 基础镜像
FROM tomcat
# 作者 MAINTAINER [email protected]
# 执行命令
RUN rm -f /usr/local/tomcat/webapps/index.jsp
RUN echo "welcome to tomcat!" > /usr/local/tomcat/webapps/ROOT/index.html
- Cree una nueva imagen, sintaxis: docker build f Ruta del archivo Dockerfile t nombre de la imagen: contexto de ejecución del comando de etiqueta
docker build -f Dockerfile -t itany/tomcat:v2
- Ejecute el contenedor con la nueva imagen
docker run p 9999:8080 d itany/tomcat:v2