контейнер eventstore существует при запуске

#docker #apple-m1 #eventstoredb

Вопрос:

Я запустил службу eventstore с помощью docker-compose, и она завершается сразу после запуска. другие службы работают нормально, но магазин событий-единственный, который останавливается. Я только начал использовать macbook air с чипом M1 и подозреваю, что причина в этом.

Это журналы обслуживания:

 > Executing task: docker logs --tail 1000 -f efb9a01f49d5383851f28e9badbd0934b1bc8a7b7cf1db018ed3a7b0436df25d <

[

    1, 1,14:24:17.218,FTL] Host terminated unexpectedly.
System.IO.IOException: Function not implemented
   at System.IO.FileSystemWatcher.StartRaisingEvents()
   at System.IO.FileSystemWatcher.StartRaisingEventsIfNotDisposed()
   at System.IO.FileSystemWatcher.set_EnableRaisingEvents(Boolean value)
   at Microsoft.Extensions.FileProviders.Physical.PhysicalFilesWatcher.TryEnableFileSystemWatcher()
   at Microsoft.Extensions.FileProviders.Physical.PhysicalFilesWatcher.CreateFileChangeToken(String filter)
   at Microsoft.Extensions.FileProviders.PhysicalFileProvider.Watch(String filter)
   at Microsoft.Extensions.Configuration.FileConfigurationProvider.<.ctor>b__1_0()
   at Microsoft.Extensions.Primitives.ChangeToken.ChangeTokenRegistration`1..ctor(Func`1 changeTokenProducer, Action`1 changeTokenConsumer, TState state)
   at Microsoft.Extensions.Primitives.ChangeToken.OnChange(Func`1 changeTokenProducer, Action changeTokenConsumer)
   at Microsoft.Extensions.Configuration.FileConfigurationProvider..ctor(FileConfigurationSource source)
   at Microsoft.Extensions.Configuration.Json.JsonConfigurationSource.Build(IConfigurationBuilder builder)
   at Microsoft.Extensions.Configuration.ConfigurationBuilder.Build()
   at EventStore.Common.Log.EventStoreLoggerConfiguration.Initialize(String logsDirectory, String componentName, String logConfig) in /build/src/EventStore.Common/Log/EventStoreLoggerConfiguration.cs:line 58
   at EventStore.Core.EventStoreHostedService`1.Init(TOptions options) in /build/src/EventStore.Core/EventStoreHostedService.cs:line 89
   at EventStore.ClusterNode.ClusterVNodeHostedService.Init(ClusterNodeOptions options) in /build/src/EventStore.ClusterNode/ClusterVNodeHostedService.cs:line 44
   at EventStore.Core.EventStoreHostedService`1..ctor(String[] args) in /build/src/EventStore.Core/EventStoreHostedService.cs:line 45
   at EventStore.ClusterNode.ClusterVNodeHostedService..ctor(String[] args) in /build/src/EventStore.ClusterNode/ClusterVNodeHostedService.cs:line 35
   at EventStore.ClusterNode.Program.Main(String[] args) in /build/src/EventStore.ClusterNode/Program.cs:line 22

Terminal will be reused by tasks, press any key to close it.
 

Ответ №1:

Это известная проблема с докером, работающим на M1. В настоящее время мы работаем над предоставлением собственной сборки и контейнера arm64. Вы можете отслеживать этот прогресс здесь: https://github.com/EventStore/EventStore/pull/3076

Ответ №2:

Доступна сборка alpha, которая позволяет запускать образ Docker на MacBook с чипсетом M1. Вы должны использовать образ реестра контейнеров GitHub: https://github.com/EventStore/EventStore/pkgs/container/eventstore/7973829.

Изображение докера: ghcr.io/eventstore/eventstore:20.6.1-alpha.0.69-arm64v8

Пример выполнения команды:

 docker run --name esdb-node -it -p 2113:2113 -p 1113:1113 
    ghcr.io/eventstore/eventstore:20.6.1-alpha.0.69-arm64v8 --insecure --run-projections=All 
    --enable-external-tcp --enable-atom-pub-over-http
 

Комментарии:

1. это сработало! Спасибо

2. Отлично! Рад это прочесть! Не могли бы вы также отметить это как правильный ответ на SO? 🙂