Откуда берутся изображения в docker-compose.yml? - PullRequest
0 голосов
/ 28 марта 2019

Я не уверен, как именно работают образы докеров в том смысле, откуда они берутся. Это в основном вопрос из трех частей.

  1. Например, когда вы набираете
docker run armhf/helloworld

и его нет в наличии, он тянет изображение.

Теперь он вытягивает изображение из интернета? Или означает локально внутри контейнера, например, он тянет с ПК.

Теперь в файле сборки Docker Hyperledger, подобном этому (возьмите из ранее существующего примера)

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
     ...

Нужно ли скачивать его откуда-то на ПК, чтобы контейнер мог его найти, или это каким-то образом способно вытащить его из Интернета само по себе? Или это зависит от того, где он работает, имеет ли он доступ к Интернету и т. Д.?

  1. И что это значит, если есть файл yaml, подобный этому (взят из другого примера для hyperledger на kubernetes)
image:
  tag: 1.2.0

persistence:
  accessMode: ReadWriteOnce
  size: 1Gi

peer:
  databaseType: CouchDB
  couchdbInstance: cdb-peer1
  mspID: AidTechMSP
...

В этом примере даже нет файла docker-compose, но он разбит на различные компоненты. Разве это не использует изображение?

  1. (из того же примера)
...
image: hyperledger/fabric-orderer:$IMAGE_TAG
...

(из того же примера) Это что-то за $, связанное с образами докеров?

Лишь несколько вещей, которые смущают меня, потому что я привык только к Windwos, и я не нашел чего-то, что всесторонне отвечало бы на эти, казалось бы, простые базовые вопросы.

1 Ответ

2 голосов
/ 28 марта 2019

Изображения были извлечены из Интернета в соответствии с реестром, на который указывает ваш демон докера:

#docker info|grep "^Registry:"
Registry: https://index.docker.io/v1/

На ваш второй вопрос, я не знаю, где вы берете пример, если вы могли бы предоставить его источникбыло бы полезно.

РЕДАКТИРОВАТЬ ВТОРОЙ ОТВЕТ ПОСЛЕ КОММЕНТАРИИ:

Ямл, на который вы ссылаетесь на свой второй вопрос, выглядит как кубернетский, а не докер, если я не ошибаюсь (немного знаю о 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 
...