我不确定docker镜像在什么意义上是如何工作的,它们来自何处。这基本上是一个三部分的问题。
docker run armhf/helloworld
并且它在本地不可用,会拉出图像。
现在它是否可以从互联网上提取图像?还是在容器内部局部表示,例如,它是从pc中拉出来的。
现在在这样的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
...
我是否需要从某个地方将其下载到PC上以便容器可以找到它,或者是否可以通过某种方式将其自身从互联网上拉出来?还是取决于它在哪里运行,是否可以访问互联网等?
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
...
(来自同一示例)$后面是否与docker映像相关?
有几件事使我感到困惑,因为我只习惯了Windwos,却没有找到能全面回答这些看似简单的基本问题的东西。
答案 0 :(得分:2)
根据您的docker守护程序指向的注册表从互联网提取了图像:
#docker info|grep "^Registry:"
Registry: https://index.docker.io/v1/
对于第二个问题,我不知道您在哪里举例,如果您可以提供源代码,它将很有用。
您要提到的第二个问题的Yaml看起来像kubernetes,而不是docker(如果我没记错的话(对kubernetes不太了解))。
对于第三个问题,该变量指的是图像的版本,图像具有可表示具有不同版本的多个容器的标签,例如,您可以在此处查看此信息:
https://hub.docker.com/_/centos?tab=tags
将图像拖入适当的标签后,例如,您应该能够得到:
docker pull centos:6
docker pull centos:7
docker pull centos:7.6.1810