首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Docker卷:没有在Amazon上正确地挂载Docker卷

Docker卷:没有在Amazon上正确地挂载Docker卷
EN

Stack Overflow用户
提问于 2015-04-20 14:42:00
回答 1查看 2.1K关注 0票数 8

目前,我正尝试使用ansible将一个坞注册中心部署到Amazon。我的食谱上的任务如下:

代码语言:javascript
运行
复制
- name: run docker registry container
  docker:
    image: registry
    name: docker-registry
    state: reloaded
    env:
      SETTINGS_FLAVOR: local
      STORAGE_PATH: /opt/docker-registry
      SEARCH_BACKEND: sqlalchemy
    volumes:
    - "/data/docker-registry-server/opt/docker-registry:/opt/docker-registry"
    ports:
    - "5000:5000"

如您所见,注册表被部署为码头内的容器。这在某种程度上是可行的。容器正确启动,但是卷没有正确地挂载。我通过运行来检查这个:

代码语言:javascript
运行
复制
docker exec -t -i docker-registry touch /opt/docker-registry/touch.me

这将在应挂载卷的文件夹中的容器中创建一个新文件。因此,这个文件应该出现在/data/docker-registry-server/opt/docker-registry中的主机上,但它没有出现。

在运行docker inspect docker-registry时,我得到以下结果:

代码语言:javascript
运行
复制
[{
"AppArmorProfile": "",
"Args": [],
"Config": {
    "AttachStderr": false,
    "AttachStdin": false,
    "AttachStdout": false,
    "Cmd": [
        "docker-registry"
    ],
    "CpuShares": 0,
    "Cpuset": "",
    "Domainname": "",
    "Entrypoint": null,
    "Env": [
        "SETTINGS_FLAVOR=local",
        "SEARCH_BACKEND=sqlalchemy",
        "STORAGE_PATH=/opt/docker-registry",
        "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
        "DOCKER_REGISTRY_CONFIG=/docker-registry/config/config_sample.yml"
    ],
    "ExposedPorts": {
        "5000/tcp": {}
    },
    "Hostname": "7d4bb2448234",
    "Image": "registry",
    "MacAddress": "",
    "Memory": 0,
    "MemorySwap": 0,
    "NetworkDisabled": false,
    "OnBuild": null,
    "OpenStdin": false,
    "PortSpecs": null,
    "StdinOnce": false,
    "Tty": false,
    "User": "",
    "Volumes": {
        "/opt/docker-registry": {}
    },
    "WorkingDir": ""
},
"Created": "2015-04-20T14:00:44.547620575Z",
"Driver": "devicemapper",
"ExecDriver": "native-0.2",
"ExecIDs": [
    "5ea0f2a69b5010ee769963ea030dbf5016bef15f50515c120c3e1d27edb64e03",
    "4d7cdbc371bc7bd7eddc73f531fe4e538186556b59b20da74ffa705ab31306c0"
],
"HostConfig": {
    "Binds": [
        "/data/docker-registry-server/opt/docker-registry:/opt/docker-registry:rw"
    ],
    "CapAdd": null,
    "CapDrop": null,
    "ContainerIDFile": "",
    "Devices": null,
    "Dns": null,
    "DnsSearch": null,
    "ExtraHosts": null,
    "IpcMode": "",
    "Links": null,
    "LxcConf": null,
    "NetworkMode": "",
    "PidMode": "",
    "PortBindings": {
        "5000/tcp": [
            {
                "HostIp": "0.0.0.0",
                "HostPort": "5000"
            }
        ]
    },
    "Privileged": false,
    "PublishAllPorts": false,
    "ReadonlyRootfs": false,
    "RestartPolicy": {
        "MaximumRetryCount": 0,
        "Name": ""
    },
    "SecurityOpt": null,
    "VolumesFrom": null
},
"HostnamePath": "/var/lib/docker/containers/7d4bb2448234962ba8f9da87d3650b38e608a1e405130ba6b35200f52e07ce5b/hostname",
"HostsPath": "/var/lib/docker/containers/7d4bb2448234962ba8f9da87d3650b38e608a1e405130ba6b35200f52e07ce5b/hosts",
"Id": "7d4bb2448234962ba8f9da87d3650b38e608a1e405130ba6b35200f52e07ce5b",
"Image": "59b1f7d49dc843631b9be86f581f9c8a726f7cea8a5c37e648c822e40e440633",
"MountLabel": "",
"Name": "/docker-registry",
"NetworkSettings": {
    "Bridge": "docker0",
    "Gateway": "172.17.42.1",
    "GlobalIPv6Address": "",
    "GlobalIPv6PrefixLen": 0,
    "IPAddress": "172.17.0.62",
    "IPPrefixLen": 16,
    "IPv6Gateway": "",
    "LinkLocalIPv6Address": "fe80::42:acff:fe11:3e",
    "LinkLocalIPv6PrefixLen": 64,
    "MacAddress": "02:42:ac:11:00:3e",
    "PortMapping": null,
    "Ports": {
        "5000/tcp": [
            {
                "HostIp": "0.0.0.0",
                "HostPort": "5000"
            }
        ]
    }
},
"Path": "docker-registry",
"ProcessLabel": "",
"ResolvConfPath": "/var/lib/docker/containers/7d4bb2448234962ba8f9da87d3650b38e608a1e405130ba6b35200f52e07ce5b/resolv.conf",
"RestartCount": 0,
"State": {
    "Error": "",
    "ExitCode": 0,
    "FinishedAt": "0001-01-01T00:00:00Z",
    "OOMKilled": false,
    "Paused": false,
    "Pid": 21595,
    "Restarting": false,
    "Running": true,
    "StartedAt": "2015-04-20T14:00:44.791121849Z"
},
"Volumes": {
    "/opt/docker-registry": "/data/docker-registry-server/opt/docker-registry"
},
"VolumesRW": {
    "/opt/docker-registry": true
}
}
]

在我看来,这个容器本身知道它应该使用一个卷。Volumes条目列出正确的路径。因此,这很可能是一个码头,而不是一个可解决的问题。

我使用的是docker 1.5.0,构建一个8a31ed/1.5.0

在这一点上,我相信,在如何使用卷很可能是一个愚蠢的错误。(很可能是我的错)

有人能告诉我哪里出了问题吗?

EN

回答 1

Stack Overflow用户

发布于 2015-06-29 21:35:11

既然您说它是通过移动您正在挂载的文件夹来工作的,我将检查以下几件事情:

  • 确保正在挂载的目录实际存在于主机上。
  • 确保您正在运行的任何用户都具有访问要挂载的文件夹的正确权限。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29751008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档