windows - 如何编辑 Linux 容器配置并在 Docker Windows 中观察它的哈希值?

标签 windows docker phpstorm

我在 Windows 上安装了 Docker。它已切换到 Switched to Linux containers

当我在我的控制台中输入:docker inspect e3a934c54979 我看到一条信息:

[
    {
        ...
        "Image": "sha256:2359fa12fdedef2af79d9b836a26175808d4b1433b5e7022d2d73c72b2a43b60",
        "ResolvConfPath": "/var/lib/docker/containers/e3a934c549799d9ec45d65ad6aa73bba8fad924215087a9c9c60535ef2a5c2e8/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/e3a934c549799d9ec45d65ad6aa73bba8fad924215087a9c9c60535ef2a5c2e8/hostname",
        "HostsPath": "/var/lib/docker/containers/e3a934c549799d9ec45d65ad6aa73bba8fad924215087a9c9c60535ef2a5c2e8/hosts",
        "LogPath": "/var/lib/docker/containers/e3a934c549799d9ec45d65ad6aa73bba8fad924215087a9c9c60535ef2a5c2e8/e3a934c549799d9ec45d65ad6aa73bba8fad924215087a9c9c60535ef2a5c2e8-json.log",
        "Name": "/festive_edison",          
        ...
        "HostConfig": {
            "Binds": null,
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "default",
            "PortBindings": {
                "80/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "80"
                    }
                ]
            },
            ...
        },
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/10f5348d5bfa76612ab30d1a253f17a6989fcd3f7ce23642b313c49f99a95f44-init/diff:/var/lib/docker/overlay2/028eac1b0f37fd3be798d222f7d1da48a40f0ef9c4470709e63c4c8f322a477f/diff:/var/lib/docker/overlay2/d15e7ce0f29f82d6d3b9537980b766c32e7f6ffc81374cdb26fede3872afed1e/diff:/var/lib/docker/overlay2/efab543606225e581832ef6e2b732a78c82b2f6d9fe662babe09b188f600dd72/diff:/var/lib/docker/overlay2/263366359e8a86cc6c009f70fa00a158dbcbcfd2a4e31d9538c559dd82e29b10/diff:/var/lib/docker/overlay2/32ea6c48b53f4846284e1baac83dffcfb039a53a8d2f33ac2728691160f5d100/diff:/var/lib/docker/overlay2/685745d44609453debf484b2ccf63035532b334e75b9f18a00c5e1253e18841a/diff:/var/lib/docker/overlay2/e30c0a304544255bc9eba90dfb720c332e168b4972df926a79ef27df707889fd/diff:/var/lib/docker/overlay2/a5743532bc060895f0a495249182787322400a1a33fd187b3210895e1ca83129/diff",
                "MergedDir": "/var/lib/docker/overlay2/10f5348d5bfa76612ab30d1a253f17a6989fcd3f7ce23642b313c49f99a95f44/merged",
                "UpperDir": "/var/lib/docker/overlay2/10f5348d5bfa76612ab30d1a253f17a6989fcd3f7ce23642b313c49f99a95f44/diff",
                "WorkDir": "/var/lib/docker/overlay2/10f5348d5bfa76612ab30d1a253f17a6989fcd3f7ce23642b313c49f99a95f44/work"
            },
            "Name": "overlay2"
        },
        ...
    }
]

但是 Windows 没有这些目录。它只有“MobyLinuxVM.vhdx”,我认为其中包含这些内容。

我的问题是在这种情况下如何编辑“config.json”和“hostconfig.json”?如何查看 GUID-json.log?如何查看容器的哈希值 (/var/lib/docker/aufs/diff)?

最佳答案

信息来自 https://blog.jongallant.com/2017/11/ssh-into-docker-vm-windows/

在 Windows 命令提示符下输入:

docker run --privileged -it -v /var/run/docker.sock:/var/run/docker.sock jongallant/ubuntu-docker-client

docker run --net=host --ipc=host --uts=host --pid=host -it --security-opt=seccomp=unconfined --privileged --rm -v /:/host alpine /bin/sh

chroot /host

从这里您可以访问/var/lib/Docker/containers/目录以获取 hostconfig.json 和其他文件。

关于windows - 如何编辑 Linux 容器配置并在 Docker Windows 中观察它的哈希值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48703359/

相关文章:

docker - 在 kubernetes 中通过卷附加代码是否正确?

docker - Redis 损坏日期 :6-alpine on RasPi

PhpStorm 在每次启动时开始索引文件

git - Phpstorm git 尝试提交 workspace.xml

c - 对 `SHA1' 的 undefined reference

angular - 刷新页面时显示找不到页面

linux - Dockerfile在一个阶段从源代码构建,然后在第二阶段复制并安装

php - Ubuntu 快捷方式干扰我的 PHP Storm 快捷方式

c - ShellExecute 挂起模式

c++ - 从 RegQueryValueEx 获取正确的值