docker-compose.yml中的图片来自哪里?
Where do the images in docker-compose.yml come from?
我不确定 docker 图片究竟是如何工作的,它们来自哪里。这基本上是一个由三部分组成的问题。
- 例如当你输入
docker run armhf/helloworld
它在本地不可用,它会拉取图像。
现在是从网上拉取图片吗?或者在本地意味着在容器内部,例如它从 pc 中提取。
现在在 Hyperledger 中 docker-像这样编写文件(取自现有示例)
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 文件意味着什么(取自 kubernetes 上 hyperledger 的另一个示例)
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,我还没有找到可以全面回答这些看似简单的基本问题的东西。
根据您的 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
我不确定 docker 图片究竟是如何工作的,它们来自哪里。这基本上是一个由三部分组成的问题。
- 例如当你输入
docker run armhf/helloworld
它在本地不可用,它会拉取图像。
现在是从网上拉取图片吗?或者在本地意味着在容器内部,例如它从 pc 中提取。
现在在 Hyperledger 中 docker-像这样编写文件(取自现有示例)
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 文件意味着什么(取自 kubernetes 上 hyperledger 的另一个示例)
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,我还没有找到可以全面回答这些看似简单的基本问题的东西。
根据您的 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