如何通过docker容器反查容器和宿主机的挂载目录?

在Ubuntu 20.04.3 LTS 系统中如何查找zentao相关的目录?

在 Ubuntu 20.04.3 LTS 系统中,如果你已经部署过禅道(Zentao),但不记得它的相关目录(比如程序路径、数据路径、数据库路径等),可以使用以下方法逐步查找:


✅ 1. 如果是通过 Docker 部署的禅道

🔹第一步:查看容器名称

bash 复制代码
docker ps

假设容器名为 zentao,然后查看它挂载了哪些目录:

🔹第二步:查看容器挂载的宿主机路径

bash 复制代码
docker inspect zentao | grep -A 5 Mounts

或更清晰:

bash 复制代码
docker inspect zentao | jq '.[0].Mounts'

输出可能是:

json 复制代码
[
  {
    "Type": "bind",
    "Source": "/tmp/zentao-files",
    "Destination": "/www/zentaopms"
  },
  {
    "Type": "bind",
    "Source": "/tmp/zentao-db",
    "Destination": "/var/lib/mysql"
  }
]

这告诉你禅道挂载在宿主机的两个目录:

  • /tmp/zentao-files(禅道程序、附件)
  • /tmp/zentao-db(数据库数据)

你可以进入这些目录查看内容:

bash 复制代码
ls /tmp/zentao-files
ls /tmp/zentao-db

执行以下命令可以查看容器的配置文件

bash 复制代码
docker inspect zentao
json 复制代码
[
    {
        "Id": "6dbee1eb02eb78ec561c150c6dc1aae5b7d3263bff1b995e562898db0d5f4e18",
        "Created": "2021-10-18T02:09:13.481020225Z",
        "Path": "/.docker_init.sh",
        "Args": [],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 2479372,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2025-07-16T08:28:52.852326518Z",
            "FinishedAt": "2023-02-08T06:13:32.703689307Z"
        },
        "Image": "sha256:1b39ebee1de038dd407faaf3d3040ea93a2d8f5caae72bd35f0dcaf84acc52af",
        "ResolvConfPath": "/var/lib/docker/containers/6dbee1eb02eb78ec561c150c6dc1aae5b7d3263bff1b995e562898db0d5f4e18/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/6dbee1eb02eb78ec561c150c6dc1aae5b7d3263bff1b995e562898db0d5f4e18/hostname",
        "HostsPath": "/var/lib/docker/containers/6dbee1eb02eb78ec561c150c6dc1aae5b7d3263bff1b995e562898db0d5f4e18/hosts",
        "LogPath": "/var/lib/docker/containers/6dbee1eb02eb78ec561c150c6dc1aae5b7d3263bff1b995e562898db0d5f4e18/6dbee1eb02eb78ec561c150c6dc1aae5b7d3263bff1b995e562898db0d5f4e18-json.log",
        "Name": "/zentao",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "docker-default",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "/www/zentaopms:/www/zentaopms",
                "/www/mysqldata:/var/lib/mysql"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "default",
            "PortBindings": {
                "80/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "90"
                    }
                ]
            },
            "RestartPolicy": {
                "Name": "no",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "host",
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "ExtraHosts": null,
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "ConsoleSize": [
                0,
                0
            ],
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": [],
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": [],
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "KernelMemory": 0,
            "KernelMemoryTCP": 0,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": false,
            "PidsLimit": null,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "MaskedPaths": [
                "/proc/asound",
                "/proc/acpi",
                "/proc/kcore",
                "/proc/keys",
                "/proc/latency_stats",
                "/proc/timer_list",
                "/proc/timer_stats",
                "/proc/sched_debug",
                "/proc/scsi",
                "/sys/firmware"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ]
        },
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/aa285a09b2f09e69234ae849241b53266e49164453374263f81fa6b6308f4458-init/diff:/var/lib/docker/overlay2/99f75657d8ba09b35edd90b44dc55893fb20fbe1ca4be15dfe3c90ab2994f00c/diff:/var/lib/docker/overlay2/8f4660e23cee7e6801e954b4fd5e7a7ffdd0380a92c239dc2ae6e1b0c3878083/diff:/var/lib/docker/overlay2/fb9979358e03c7fbc0f04b4a716ed1223adf202fa5eb90ac2877d339e411f51f/diff:/var/lib/docker/overlay2/bf12858cd34368b4340eabd7800664b6e44d4e9405facc0c389f12a031dea3f1/diff:/var/lib/docker/overlay2/3d7a30c45f2f2b332bad54d08fa69fb20dd94a6c90b62f50284a91a8ccaf789d/diff:/var/lib/docker/overlay2/a7be535be8057593222e8188dae2abd60f4a85a4c55297c43d40788ca9c9f819/diff:/var/lib/docker/overlay2/031cac9c831c35e38c3b951e175612df976cb5db21a423ffd1645574dc83128e/diff:/var/lib/docker/overlay2/deb1ee9097c06bed671587f21f9eca29637b9103fc35c4f792b4c2480f1cab53/diff:/var/lib/docker/overlay2/ad077730c770c83fc33be4ba143c1e6195d2037d8d6ef23c56bfab4587c4f553/diff:/var/lib/docker/overlay2/65bafa57b8e78aedd4bb1a39fb11f6d90bd7aad5e70856450ba2572db0cf77d0/diff:/var/lib/docker/overlay2/dd36ac6e118f18eb1acfebd9c8d6b9535fd4ab0d58d6578506b67a4deac2216f/diff:/var/lib/docker/overlay2/caa42c0aa5cba2df8dff80dff1938274ae33867d0c6b4fd7ffffd5dbe13373fd/diff:/var/lib/docker/overlay2/aa8edfce2e1028e14eb1d26dc0c9bb1cd515fa93808551cdd17a4730b238f067/diff:/var/lib/docker/overlay2/f6856f97a38d8dcb0885bd7509474b03879b9ac56eeea70217eff2787a5b85bc/diff:/var/lib/docker/overlay2/71ec17912767753bbdbf17af30a3844d95891ded66ed4e54e87c37b2909f4859/diff:/var/lib/docker/overlay2/50d3d37457119f3de751b496f7993d0202f6c37600043c6b4b79d319eab980fd/diff:/var/lib/docker/overlay2/4bbbd6a7396ec3397df309ea9b2949fc920591347e26a7ef3d2dffe434e34cd4/diff:/var/lib/docker/overlay2/34b64f076dc251220d66302fe747207d3dac70a8e716738728a8c34d248813d2/diff:/var/lib/docker/overlay2/e3f0ffb9067712bb45cecedf901a68a5e0d5639f6438522a398131f31ad0a798/diff",
                "MergedDir": "/var/lib/docker/overlay2/aa285a09b2f09e69234ae849241b53266e49164453374263f81fa6b6308f4458/merged",
                "UpperDir": "/var/lib/docker/overlay2/aa285a09b2f09e69234ae849241b53266e49164453374263f81fa6b6308f4458/diff",
                "WorkDir": "/var/lib/docker/overlay2/aa285a09b2f09e69234ae849241b53266e49164453374263f81fa6b6308f4458/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [
            {
                "Type": "bind",
                "Source": "/www/mysqldata",
                "Destination": "/var/lib/mysql",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/www/zentaopms",
                "Destination": "/www/zentaopms",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            }
        ],
        "Config": {
            "Hostname": "6dbee1eb02eb",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "80/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "MYSQL_ROOT_PASSWORD=123456",
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "DEBIAN_FRONTEND=noninteractive",
                "LANG=en_US.UTF8",
                "TZ=Asia/Shanghai"
            ],
            "Cmd": null,
            "Image": "easysoft/zentao:15.5",
            "Volumes": {
                "/var/lib/mysql": {}
            },
            "WorkingDir": "",
            "Entrypoint": [
                "/.docker_init.sh"
            ],
            "MacAddress": "02:42:ac:11:00:00",
            "OnBuild": null,
            "Labels": {}
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "17bb778f57d08c2da2bf8ae95cbaeacf303c33370a86214a87d0fd0ffa50ddee",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {
                "80/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "90"
                    },
                    {
                        "HostIp": "::",
                        "HostPort": "90"
                    }
                ]
            },
            "SandboxKey": "/var/run/docker/netns/17bb778f57d0",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "203410212b510ee86894255271c8de4621b055d0f7e35a0c04637038a2babcf3",
            "Gateway": "172.17.0.1",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "172.17.0.2",
            "IPPrefixLen": 16,
            "IPv6Gateway": "",
            "MacAddress": "02:42:ac:11:00:00",
            "Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "965a55629f201bcd79a840de16ba979cec4523f0064389a276bae132c933fff7",
                    "EndpointID": "203410212b510ee86894255271c8de4621b055d0f7e35a0c04637038a2babcf3",
                    "Gateway": "172.17.0.1",
                    "IPAddress": "172.17.0.2",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:11:00:00",
                    "DriverOpts": null
                }
            }
        }
    }
]

上述文件的内容中也包含了容器挂载到宿主机的信息

erlang 复制代码
...
"HostConfig": {
    "Binds": [
        "/www/zentaopms:/www/zentaopms",
        "/www/mysqldata:/var/lib/mysql"
    ],
    ...
}
...

注意: 上述命令中zentao需要换成容器名称或者容器id

相关推荐
村东头老张5 小时前
通过 Docker 安装 MySQL
mysql·docker·容器
mysql学习中5 小时前
k8s集群搭建
云原生·容器·kubernetes
hzulwy5 小时前
k8s运行应用
云原生·容器·kubernetes
EmpressBoost7 小时前
docker run elasticsearch 报错
elasticsearch·docker·容器
x,,xx11110 小时前
近期学习总结
运维·docker·容器
Spring-wind11 小时前
【docker】将本地镜像打包部署到服务器上
服务器·docker·容器
武子康11 小时前
Java-74 深入浅出 RPC Dubbo Admin可视化管理 安装使用 源码编译、Docker启动
java·分布式·后端·spring·docker·rpc·dubbo
seth12 小时前
coding 要停服了, 把所有 CI 迁移到 Github 上 (服务器无需翻墙)
ci/cd·docker·github
杨浦老苏12 小时前
开源一体化协作平台Colanode
笔记·docker·即时通讯·群晖·协助