Docker principiante (dos)

Configuración en Idea: Configuraciones: 

 Configure la URL de Docker: cree imágenes y contenedores en la ventana acoplable de ese servidor:

DockerFile: 

FROM openjdk:8-jre
RUN mkdir /app
COPY ./target/su-yan-education-0.0.1-SNAPSHOT.jar /app/app.jar
RUN mkdir -p /su-yan-education/studentexcelModel/
RUN mkdir -p /su-yan-education/teacherexcelModel/
RUN mkdir -p /su-yan-education/kindergartenexcelModel/
COPY ./files/studentInfo.xlsx /su-yan-education/studentexcelModel/studentInfo.xlsx
COPY ./files/teacherInfo.xlsx /su-yan-education/teacherexcelModel/teacherInfo.xlsx
COPY ./files/kindergartenInfo.xlsx /su-yan-education/kindergartenexcelModel/kindergartenInfo.xlsx
ENTRYPOINT ["java","-jar", "-Djava.net.preferIPv4Stack=true","/app/app.jar"]
EXPOSE 8683

docker-compose.yml: el su-yan debajo de services es un nombre aleatorio, solo un nombre de servicio; imagen: su-yan debe ser el mismo que en Configuraciones; container_name: su-yan es generalmente el mismo que el nombre de la imagen.

version: '3.5'
services:
  su-yan:
    image: su-yan
    container_name: su-yan
    ports:
      - 8683:8683
    restart: always
    volumes:
      - ./logs/:/logs/

Estructura del proyecto:

 para resumir:

1.) Este proyecto es un proyecto de espejo único, por lo que docker-compose.yml en realidad no se usa. Para obtener detalles específicos, puede verificar la diferencia entre docker-compose y dockerFile. En este proyecto, (debido a la configuración del ruta de la ventana acoplable del servidor, por lo que iniciar DockerFile en idea es equivalente al proceso de creación de una imagen en el servidor) Ejecutar DockerFile en idea es el proceso de creación de una imagen. Para generar un contenedor, debe ingresar el docker-compose up -d comando en el servidor; cierre el contenedor: Docker-compose down (prueba Pro, este comando en realidad elimina el contenedor en el directorio actual), que es equivalente a los dos comandos docker stop container id y docker rm container id.

2.) Debido a que este proyecto es un proyecto de espejo único, no es necesario usar docker-compose.yml, entonces se requiere la siguiente configuración: en lugar de docker-compose.yml, después de ejecutar dockerFile, habrá espejos y contenedores en el servidor, ambos con nombres su-yan.

3.) Los dos pasos anteriores son todos construyendo un espejo / construyendo un espejo + generando un contenedor en la idea. De hecho, también puede hacer esto directamente en el servidor a través del comando docker.

4.) Este proyecto simplemente usa docker, comprende la integración de la configuración y el proceso de idea y docker,

Proceso de Docker: primero escriba DockerFile -> compilar para compilar la imagen -> ejecutar para ejecutar y generar el contenedor.

También agregue:

1. El puerto 2375 debe estar abierto en el servidor, de lo contrario se informará un error.Además, la ventana acoplable debe reiniciarse después de que se apague el firewall, reiniciar la ventana acoplable de servicio, de lo contrario, se informará un error;

2. Para eliminar la imagen, primero debe eliminar el contenedor correspondiente,

Eliminar imagen: docker rmi image id Eliminar contenedor: docker rm container id Eliminar contenedor Si el contenedor se está ejecutando y no se puede eliminar, primero detenga el contenedor con docker stop container id. O use -f para forzar la eliminación;

3. Para ingresar al contenedor, busque la carpeta dockers exec -it container id bash creada en DockerFile para ingresar al contenedor, salir es para salir del contenedor actual.

Suplemento: 20/07/2020

Para la invocación remota de la ventana acoplable, debido a que el puerto abierto predeterminado 2375 de la ventana acoplable se usó antes, el servidor fue atacado, por lo que no se puede usar el puerto predeterminado 2375. Al mismo tiempo, la ventana acoplable tiene un puerto cifrado 2376:

Tutorial de configuración del puerto remoto 2376 de autenticación abierta de la ventana acoplable centos7

https://blog.csdn.net/qq_21187515/article/details/90262324?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-1

Al mismo tiempo, cambie 2375 a 2376 en la idea, el servidor debe abrir el puerto 2375 y el firewall también debe liberarse.

Supongo que te gusta

Origin blog.csdn.net/zhangleiyes123/article/details/107335094
Recomendado
Clasificación