Я пытаюсь установить пакет artillery
NPM, используя npm
, в Docker-контейнере с npm install -g artillery
. Однако он висит с этим сообщением
[..................] / rollbackFailedOptional: verb npm-session 005fda8725330544
Изначально я попытался использовать образ debian: stretch docker, установив nodejs
и npm
с apt
. Я также попробовал официальный образ докера node
и образ alpine
(с apk add nodejs npm
. Все они имеют такую же ошибку.
У меня есть рабочая сеть в контейнерах, и я вижу, что реестр NPM нормально работает во всех различных контейнерах Docker
# curl http://registry.npmjs.org/
{"db_name":"registry","doc_count":1114477,"doc_del_count":341,"update_seq":16317727,"purge_seq":0,"compact_running":false,"disk_size":13471206003,"data_size":11114653800,"instance_start_time":"1547073780489012","disk_format_version":6,"committed_update_seq":16317727}
У большинства людей с этой ошибкой возникают проблемы с прокси, но у меня нет установленных прокси-серверов, и я не пытался их установить. Я оставил конфигурацию по умолчанию:
# npm config list
; cli configs
metrics-registry = "https://registry.npmjs.org/"
scope = ""
user-agent = "npm/6.4.1 node/v8.15.0 linux x64"
; node bin location = /usr/bin/node
; cwd = /
; HOME = /root
; "npm config ls -l" to show all defaults.
Самое странное, если я вместо этого создаю виртуальную машину Ubuntu (, а не контейнер), устанавливаю node
и npm
с apt
, узел работает просто отлично! Кажется, это проблема с докером.