#docker #docker-compose #hyperledger-fabric #docker-image
#docker #docker-compose #hyperledger-fabric #docker-image
Вопрос:
Я не уверен, как именно работают изображения docker в смысле, откуда они берутся. По сути, это вопрос из трех частей.
- Так, например, когда вы вводите
docker run armhf/helloworld
и это не доступно локально, оно извлекает изображение.
Теперь он извлекает изображение из Интернета? Или локально означает внутри контейнера, чтобы он извлекался, например, с ПК.
Теперь в файле Hyperledger docker-compose, подобном этому (взято из ранее существовавшего примера)
networks:
basic:
services:
ca.example.com:
image: hyperledger/fabric-ca
environment:
- FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server
- FABRIC_CA_SERVER_CA_NAME=ca.example.com
...
Нужно ли мне откуда-то загружать их на ПК, чтобы контейнер мог их найти, или это каким-то образом может самостоятельно извлекать их из Интернета? Или это зависит от того, где он запущен, есть ли у него доступ к Интернету и т.д.?
- И что это значит, если существует файл yaml, подобный этому (взятый из другого примера для hyperledger на kubernetes)
image:
tag: 1.2.0
persistence:
accessMode: ReadWriteOnce
size: 1Gi
peer:
databaseType: CouchDB
couchdbInstance: cdb-peer1
mspID: AidTechMSP
...
В этом примере даже нет файла docker-compose, он разделен на разные компоненты. Он не использует изображение?
- (из того же примера)
...
image: hyperledger/fabric-orderer:$IMAGE_TAG
...
(из того же примера) Это стоит за $ something, связанным с изображениями docker?
Всего несколько вещей, которые меня смущают, потому что я привык только к Windwos, и я не нашел чего-то, что исчерпывающе отвечало бы на эти, казалось бы, простые базовые вопросы.
Ответ №1:
Изображения были извлечены из Интернета в соответствии с реестром, на который указывает ваш демон docker:
#docker info|grep "^Registry:"
Registry: https://index.docker.io/v1/
Что касается вашего второго вопроса, я не знаю, откуда вы берете пример, если бы вы могли предоставить исходный код, это было бы полезно.
ОТРЕДАКТИРУЙТЕ ВТОРОЙ ОТВЕТ ПОСЛЕ КОММЕНТАРИЯ:
Yaml, на который вы ссылаетесь в своем втором вопросе, выглядит как kubernetes, а не docker, если я не ошибаюсь (не так много знаю о kubernetes).
Что касается вашего третьего вопроса, переменная ссылается на версию изображения, изображения имеют теги, которые могут представлять несколько контейнеров с разными версиями, вы могли бы увидеть это здесь, например:
https://hub.docker.com/_/centos?tab=tags
потянув изображение за соответствующим тегом, вы должны быть в состоянии получить, например:
Centos 6:
docker pull centos:6
Centos 7:
docker pull centos:7
Centos 7.6.1810
docker pull centos:7.6.1810
Комментарии:
1. ссылка Здесь используется Kubernetes Helm для установки многих вещей, поэтому он может полагаться на них. Я думаю, что сами файлы — это то, что вы получили бы, если бы использовали Kompose для файла docker-compose. (Который преобразует файл в читаемые файлы для Kubernetes, насколько я знаю)
2. отредактировал мой ответ об этом файле конфигурации на ваш второй вопрос