заменен одноранговый контейнер после обновления службы Docker Swarm - PullRequest
0 голосов
/ 07 сентября 2018

Когда я использую 'обновление службы Docker' на одноранговом контейнере в моем рое докеров, одноранговое получение заменяется новым.

Новый имеет почти то же имя, например старый: peer1.org1-223d2d23d23 новый: один peer1.org1-345245634ff4

Имеет доступ ко всем файлам, таким как channel.tx, genesis.block и mychannel.block. на карте одноранговых / канальных артефактов. Но новый узел не присоединился к каналу, и на нем не установлен цепной код.

Я не могу присоединиться к каналу или установить цепной код, потому что для peer1.org1 это уже так. Однако, если я получу самый старый блок канала, я смогу. Но это создает странную ситуацию, я думаю.

Итак, мой вопрос

Как одноранговая служба в Docker Swarm по-прежнему может быть частью стека / роя после обновления или простоя службы, если она не является полностью новым одноранговым контейнером?

1 Ответ

0 голосов
/ 08 сентября 2018

Когда вы обновляете контейнер в Docker, Docker Swarm или Kubernetes, вы по сути заменяете контейнер (т. Е. На самом деле нет концепции обновления контейнера на месте) другим, который получает те же настройки, среду, и т.д.

При запуске Docker в автономном режиме и использовании томов это довольно прозрачно, поскольку новый контейнер развертывается на том же хосте, что и предыдущий контейнер, и поэтому будет монтировать те же тома и т. Д.

Похоже, вы уже монтируете некоторый тип тома из общего хранилища / файловой системы для доступа к channel.tx и т. Д.

Что вам также нужно сделать, так это убедиться, что вы используете тома для постоянного хранилища, используемого / запрашиваемого узлом (и заказчиком и т. Д. В этом отношении).

На одноранговой стороне два ключевых атрибута в core.yaml:

peer.fileSystemPath - по умолчанию это /var/hyperledger/production, где хранятся регистр, установленные коды цепей и т. Д. Соответствующая переменная окружения - CORE_PEER_FILESYSTEMPATH.

peer.mspConfigPath - где хранится локальная информация MSP. Соответствующая переменная окружения - CORE_PEER_MSPCONFIGPATH.

Вы захотите смонтировать их как тома, и, если вы используете Swarm, эти тома должны быть доступны в общем хранилище, которое доступно на всех ваших хостах Swarm.

...