Soy nuevo en Docker y necesitaría algunos consejos. Estoy a punto de configurar mi propio repositorio git personal con Gitea. El archivo de composición de la ventana acoplable se puede ver a continuación. Cuando ejecuto el archivo por primera vez, todo está bien. El problema ocurre cuando reinicio mi computadora o Docker, luego la página se carga pero está vacía, no hay repositorios, nada. Además, no es posible iniciar sesión con las credenciales que se establecieron después de la primera instalación. Parece que la conexión a la base de datos se pierde después de reiniciar.
archivo de redacción de la ventana acoplable:
version: "2" networks: gitea: external: false volumes: gitea: driver: local services: server: image: gitea/gitea:latest environment: - USER_UID=1000 - USER_GID=1000 - DB_TYPE=mysql - DB_HOST=db:3306 - DB_NAME=gitea - DB_USER=gitea - DB_PASSWD=gitea restart: always networks: - gitea volumes: #- ./gitea:/data - gitea:/data ports: - "3000:3000" - "222:22" depends_on: - db db: image: mysql:5.7 restart: always environment: - MYSQL_ROOT_PASSWORD=gitea - MYSQL_USER=gitea - MYSQL_PASSWORD=gitea - MYSQL_DATABASE=gitea networks: - gitea volumes: - ./mysql:/var/lib/mysqlDebe declarar una de sus carpetas locales como un volumen para obtener datos persistentes. Como aquí por ejemplo :
docker run -v /host/directory:/container/directory -other -options image_name command_to_run De lo contrario, los datos escritos sobre una capa de imagen existente se descartan de forma predeterminada cuando se elimina el contenedor.
Esto está usando un sistema de archivos de unión: (ver " Profundizando en las capas de Docker ")
En el caso de gitea (docker) , asegúrese de tener una carpeta de datos local y mysql, para ser montada por las imágenes de Docker.
volumes: - ./data:/data volumes: - ./mysql:/var/lib/mysqlhas usado
volumes: #- ./gitea:/data - gitea:/data Eso declararía un volumen (en lugar de un montaje de enlace ), llamado " gitea ", almacenado en su instalación de Docker.
Podrías intentar lo mismo para la parte db:
volumes: - mysql:/var/lib/mysql