如何设置docker mongo数据量
我想使用Dockerizing MongoDB并将数据存储在本地卷中。
但是..失败了…
它具有mongo:latest图像
kerydeMacBook-Pro:~ hu$ docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
mongo               latest              b11eedbc330f        2 weeks ago         317.4 MB
ubuntu              latest              6cc0fc2a5ee3        3 weeks ago         187.9 MB
我想将单声道数据存储在〜/ data中。所以-
kerydeMacBook-Pro:~ hu$ docker run -p 27017:27017 -v ~/data:/data/db --name mongo -d mongof570073fa3104a54a54f39dbbd900a7c9f74938e2e0f3f731ec8a3140a418c43
但是…行不通…
docker ps-没有守护进程mongo
kerydeMacBook-Pro:~ hu$ docker psCONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
尝试运行“ mongo”-失败
kerydeMacBook-Pro:~ hu$ docker exec -it f57 bashError response from daemon: Container f57 is not running
码头工人检查蒙哥
kerydeMacBook-Pro:~ hu$ docker inspect mongo[
{
    "Id": "f570073fa3104a54a54f39dbbd900a7c9f74938e2e0f3f731ec8a3140a418c43",
    "Created": "2016-02-15T02:19:01.617824401Z",
    "Path": "/entrypoint.sh",
    "Args": [
        "mongod"
    ],
    "State": {
        "Status": "exited",
        "Running": false,
        "Paused": false,
        "Restarting": false,
        "OOMKilled": false,
        "Dead": false,
        "Pid": 0,
        "ExitCode": 100,
        "Error": "",
        "StartedAt": "2016-02-15T02:19:01.74102535Z",
        "FinishedAt": "2016-02-15T02:19:01.806376434Z"
    },
"Mounts": [
        {
            "Source": "/Users/hushuming/data",
            "Destination": "/data/db",
            "Mode": "",
            "RW": true
        },
        {
            "Name": "365e687c4e42a510878179962bea3c7699b020c575812c6af5a1718eeaf7b57a",
            "Source": "/mnt/sda1/var/lib/docker/volumes/365e687c4e42a510878179962bea3c7699b020c575812c6af5a1718eeaf7b57a/_data",
            "Destination": "/data/configdb",
            "Driver": "local",
            "Mode": "",
            "RW": true
        }
    ],
但是,当设置数据量时,它不是…谁可以帮助我?
回答:
尝试检查docker日志以查看容器停止并进入“现有”模式时发生的情况。
另请参阅指定卷的完整路径是否有帮助:
docker run -p 27017:27017 -v /home/<user>/data:/data/db  ...OP添加:
docker logs mongo exception in initAndListen: 98 
Unable to create/open lock file: /data/db/mongod.lock 
errno:13 Permission denied 
Is a mongod instance already running?
terminating 2016-02-15T06:19:17.638+0000 
I CONTROL [initandlisten] dbexit: rc: 100
一个错误:13是30所要解决的问题。
此评论添加:
这是文件所有权/权限问题(与该Docker映像无关),或者将boot2docker与VB一起使用,或者将Vagrant box与VB一起使用。
尽管如此,我还是设法破解了所有权, 并使其启动:
$ boot2docker ssh$ sudo umount /Users
$ sudo mount -t vboxsf -o uid=999,gid=999 Users /Users
但是…由于不支持文件系统类型,mongod崩溃(mmap在vboxsf上不起作用)
因此,实际的解决方案是尝试
,因为现在mongodb doc提到:
MongoDB需要一个
fsync()在目录上支持的文件系统。例如,HGFS和Virtual Box的共享文件夹不支持此操作。
所以:
由于Virtualbox共享文件夹的工作方式,无法将MongoDB安装到OSX。
对于DVC(数据卷容器),请尝试docker volume
create:
docker volume create mongodbdata然后将其用作:
docker run -p 27017:27017 -v mongodbdata:/data/db  ...看看效果更好。
正如我在评论中提到的):
A docker volume inspect mongodbdata(请参阅docker volume
inspect)将为您提供其路径(您可以根据需要进行备份)
以上是 如何设置docker mongo数据量 的全部内容, 来源链接: utcz.com/qa/419660.html




