0

With docker container inspect xxx, I can find the mount information.

"Mounts": [
        {
            "Type": "bind",
            "Source": "/deploy/app/log",
            "Destination": "/home/applog",
            "Mode": "",
            "RW": true,
            "Propagation": "rprivate"
        }
    ],

After docker exec -it xxx bash, the /deploy/app/log directory is there and the file in it is also updated.
However, the /home/applog directory is not created on the host and I double checked the source it's right eg. deploy/app/log

This question is quite close to my situation, since the answer talking about mount with directory would solve that, means not my problem. Files within Docker bind mount directory not updating

My assumption is about writing privilege.Any idea on how to troubleshooting on this situation?

UPDATE:

See full command of running/stopped container in Docker
Find COMMAND is "/usr/bin/supervisord"

UPDATE:

The server is using CentOS.

[
    {
        "Id": "9b7127d72e8cdf42b7bf7ec1e6559d2d9c02eb0deb197375c084532a8e4f443c",
        "Created": "2018-11-15T09:22:42.498258742Z",
        "Path": "/usr/bin/supervisord",
        "Args": [],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 19508,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2019-02-19T08:17:25.738865995Z",
            "FinishedAt": "2019-02-19T08:17:25.484443245Z"
        },
        "Image": "sha256:02079d9230e89eeb1eb14d61ab299da9e0301abed90864655087a39c3010a222",
        "ResolvConfPath": "/var/lib/docker/containers/9b7127d72e8cdf42b7bf7ec1e6559d2d9c02eb0deb197375c084532a8e4f443c/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/9b7127d72e8cdf42b7bf7ec1e6559d2d9c02eb0deb197375c084532a8e4f443c/hostname",
        "HostsPath": "/var/lib/docker/containers/9b7127d72e8cdf42b7bf7ec1e6559d2d9c02eb0deb197375c084532a8e4f443c/hosts",
        "LogPath": "",
        "Name": "/prime",
        "RestartCount": 0,
        "Driver": "overlay2",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "/deploy/app/log/:/home/primelog/"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "journald",
                "Config": {}
            },
            "NetworkMode": "isolated_nw",
            "PortBindings": {
                "5000/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "5000"
                    }
                ],
                "80/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "90"
                    }
                ]
            },
            "RestartPolicy": {
                "Name": "no",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "CapAdd": null,
            "CapDrop": null,
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "ExtraHosts": null,
            "GroupAdd": null,
            "IpcMode": "",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "docker-runc",
            "ConsoleSize": [
                0,
                0
            ],
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": null,
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": [],
            "DiskQuota": 0,
            "KernelMemory": 0,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": -1,
            "OomKillDisable": false,
            "PidsLimit": 0,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0
        },
        "GraphDriver": {
            "Name": "overlay2",
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/705a362229df9caa92a7df72427890ea99ab01f04fc0d3056e55d50f69fe0214-init/diff:/var/lib/docker/overlay2/83e113da8135ee896fa64413cfbc5198c6414d556e002e5f5d398e3615683a0f/diff:/var/lib/docker/overlay2/334a1f552eb25e0fec63bf12e2c3a0cbf168b3ddee22c9349d935557b3ec1e40/diff:/var/lib/docker/overlay2/6745c1ba399830b8f2b8c4bcce5704093dab7342bb97e57ad6c7de666c2a7923/diff:/var/lib/docker/overlay2/a4721324b462df2f6197206ebd61c803f75ea1ea8d9a3a15d6876a4439c359c0/diff:/var/lib/docker/overlay2/4ab1ee75afa757ccba6d744c0b773e75e8d0d064f367496cc1dc9c140800303a/diff:/var/lib/docker/overlay2/ae19ae7d9c4878438bfe3d80c8a7be32304df2e9af95f851f1d5fa9636c555f5/diff:/var/lib/docker/overlay2/c01c124469518c189dd1384f81e7d887fa5ee5cd46c368b67fa75285fad61a7a/diff:/var/lib/docker/overlay2/3bdec856fe714fb865d6bdb3e2d2b5512aac8c5eed8c20c00416a92159b0469b/diff:/var/lib/docker/overlay2/ae4bdc4a37252da3326f81ed8536f4c536aa59d6b46a1e198893c0aa816a3bda/diff:/var/lib/docker/overlay2/ecab217632d4c34bbafb098755855d0f5861fd21a4df809f1c16081a08a33865/diff:/var/lib/docker/overlay2/c5958ffc7e373cf927b181010d3d40b2bac384f7d45253842dc7316022f4c8ff/diff:/var/lib/docker/overlay2/bd73e0cc649d72fcb1eaabf582ba948b34d5e91f43d1ce1a9dd54192beecde26/diff:/var/lib/docker/overlay2/3cfccc6f5782f0e83be600097aa6d9f0da0d2bd978ffd4f36c97060fad7352c8/diff:/var/lib/docker/overlay2/a0efa6e2c8dfa6529c1ce891406e5c3be1559809d05d0efafd789453615c2e50/diff:/var/lib/docker/overlay2/87959f4181e90b251956cf864095821dce34b8e4f925713c2de1e029e11c5b6b/diff:/var/lib/docker/overlay2/2fae884b115fe56f6e04de3df4391501d0bb694f2ec3b8c4189c5519642231e1/diff:/var/lib/docker/overlay2/ec08c775e3bf6968bb67bf7713313f7d9bad5c29dc49baddb623d5bc0c5218f6/diff:/var/lib/docker/overlay2/d37caccf87df38f4ffee6fcd9b96c81fd323d52e3a1eeb85d75babf9f0b59ac6/diff:/var/lib/docker/overlay2/6f7c20c7f13cc18c86de6f7c8f574a2a123b06e0e1f65a18eca7981e601ed819/diff:/var/lib/docker/overlay2/2055cc3e03990255615e9843b9e5df2e5a9d5fd44b65bc83fc867611bd67a538/diff:/var/lib/docker/overlay2/913548c1650469d344bbe8eb41a824669b6665c2aa8c2ac08ded95324314597f/diff:/var/lib/docker/overlay2/6b3eae5e3b2adba7114d823d2321b272c59f5ae58408ce1e88c97eb98614873e/diff:/var/lib/docker/overlay2/b466e47668a96fdb8c1a622c30a827c9c0073448ddcfbe57fb3d2be5fa8881c4/diff:/var/lib/docker/overlay2/ffef761f24efe242c032951ef1bf10134bb1a541bd66b04d3f3c934d03c14b32/diff",
                "MergedDir": "/var/lib/docker/overlay2/705a362229df9caa92a7df72427890ea99ab01f04fc0d3056e55d50f69fe0214/merged",
                "UpperDir": "/var/lib/docker/overlay2/705a362229df9caa92a7df72427890ea99ab01f04fc0d3056e55d50f69fe0214/diff",
                "WorkDir": "/var/lib/docker/overlay2/705a362229df9caa92a7df72427890ea99ab01f04fc0d3056e55d50f69fe0214/work"
            }
        },
        "Mounts": [
            {
                "Type": "bind",
                "Source": "/deploy/app/log",
                "Destination": "/home/primelog",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            }
        ],
        "Config": {
            "Hostname": "9b7127d72e8c",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "5000/tcp": {},
                "80/tcp": {}
            },
            "Tty": true,
            "OpenStdin": true,
            "StdinOnce": false,
            "Env": [
                "DEMS_ENV=product",
                "PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "LANG=C.UTF-8",
                "GPG_KEY=0D96DF4D4110E5C43FBFB17F2D347EA6AA65421D",
                "PYTHON_VERSION=3.7.0",
                "PYTHON_PIP_VERSION=18.0",
                "PYTHONIOENCODING=utf-8"
            ],
            "Cmd": [
                "/usr/bin/supervisord"
            ],
            "ArgsEscaped": true,
            "Image": "primetmr",
            "Volumes": null,
            "WorkingDir": "/deploy/app",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {
                "author": "wrui",
                "purpose": "= "
            }
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "2a9cfc3d58b56ede602075d4e39f3d7fb3597b0db4bf8ea1f0c5dccd625d8972",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {
                "5000/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "5000"
                    }
                ],
                "80/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "90"
                    }
                ]
            },
            "SandboxKey": "/var/run/docker/netns/2a9cfc3d58b5",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "isolated_nw": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": [
                        "9b7127d72e8c"
                    ],
                    "NetworkID": "2b169058c11e359b8add8d7cd7949936039dae21f6b0a0dbf26e6ed83df8422b",
                    "EndpointID": "fe83ca9952dadc80278adba7f96095be542a565139ba24ff6f63cdf486d62775",
                    "Gateway": "172.25.0.1",
                    "IPAddress": "172.25.0.3",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:19:00:03"
                }
            }
        }
    }
]
Shihe Zhang
  • 2,641
  • 5
  • 36
  • 57
  • Can you post the run command you're using to spin up your container, or the docker-compose section that's used to initialize it? Also, what storage driver are you using? I'm assuming the default. – Michael Miller Feb 19 '19 at 04:24
  • @MichaelMiller how can I find out the run command? It's a running container. Not using the docker compose. The storage driver? No idea, probably default. – Shihe Zhang Feb 19 '19 at 04:51
  • It's whatever you typed in to make the container run... – Michael Miller Feb 19 '19 at 13:02
  • @MichaelMiller if it's not started by the same user, how to find out? – Shihe Zhang Feb 20 '19 at 00:41
  • The docker image, entrypoint and command will do. You can get all of this from docker inspect. I'd just post the entire JSON output from `docker inspect`. – Michael Miller Feb 20 '19 at 05:53
  • 1
    You're still not posting enough information about what's going on... I use supervisord in one of my own docker deployments... Supervisord can assign users to processes. In order to troubleshoot, we'd need to know the user assigned to the process managing /home/applog, the operating system you're running on, the users assigned to the processes that supervisord is using to manage /home/applog, the user docker is assigning to /home/applog (I'm assuming it's root), etc. We've got almost nothing to work with here. – Michael Miller Feb 20 '19 at 06:06
  • @MichaelMiller Updated the docker inspect infomation. Assumming it's root(almost sure, but don't know how to verify.) – Shihe Zhang Feb 20 '19 at 06:13
  • Do you have the supervisord configs? This is likely where your answer is going to be. – Michael Miller Feb 20 '19 at 06:27
  • @MichaelMiller I tried `find supervisord.conf` not file founded. But I'm sure the `Destination /home/primelog` should be in the host, and the `Source deploy/app/..` is right in container. – Shihe Zhang Feb 20 '19 at 06:39
  • I don't see any mention of /home/applog in the JSON inspection listed above... I see "/home/primelog". Is that not what you're looking for? – Michael Miller Feb 20 '19 at 14:46
  • No, that was changed by me manually when paster to this post. – Shihe Zhang Feb 21 '19 at 01:07

1 Answers1

1

Find on official site https://docs.docker.com/storage/bind-mounts/

The source of the mount. For bind mounts, this is the path to the file or directory on the Docker daemon host. May be specified as source or src.
The destination takes as its value the path where the file or directory is mounted in the container. May be specified as destination, dst, or target.

They are wrong ordered in the docker run command.

Shihe Zhang
  • 2,641
  • 5
  • 36
  • 57