#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? 🙂