代码之家  ›  专栏  ›  技术社区  ›  kpollock

启动Docker容器时出错(WSL、Docker ce、Ubuntu 16.04)

  •  1
  • kpollock  · 技术社区  · 6 年前

    Microsoft Windows[版本10.0.17134.285],

    我是按照这里的指示来的- https://nickjanetakis.com/blog/setting-up-docker-for-windows-and-wsl-to-work-flawlessly . 我选择了“稳定”而不是“边缘”。我用手动挂载了c驱动映射

    sudo mkdir /c
    sudo mount --bind /mnt/c /c
    

    而不是WSL配置文件的方式,因为我不确定是否我想要它为我的所有WSL实例。除此之外,我遵照指示行事。

    sudo cgroupfs-mount
    sudo dockerd -H tcp://0.0.0.0:2375 --tls=false
    

    docker run -d -p 27017:27017 --name testDB mongo:3.4
    

    我明白了

    docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:402: container init caused \"rootfs_linux.go:46: preparing rootfs caused \\\"invalid argument\\\"\"": unknown.
    

    localhost:27017 .

    docker ps -a
    

    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                      NAMES
    e115d1c409a3        mongo:3.4           "docker-entrypoint.s…"   6 seconds ago       Created             0.0.0.0:27017->27017/tcp   testDB
    

    docker info
    

    显示

    Containers: 1
     Running: 0
     Paused: 0
     Stopped: 1
    Images: 1
    Server Version: 18.06.1-ce
    Storage Driver: overlay2
     Backing Filesystem: <unknown>
     Supports d_type: true
     Native Overlay Diff: true
    Logging Driver: json-file
    Cgroup Driver: cgroupfs
    Plugins:
     Volume: local
     Network: bridge host macvlan null overlay
     Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
    Swarm: inactive
    Runtimes: runc
    Default Runtime: runc
    Init Binary: docker-init
    containerd version: 468a545b9edcd5932818eb9de8e72413e616e86e
    runc version: 69663f0bd4b60df09991c08812a60108003fa340
    init version: fec3683
    Kernel Version: 4.4.0-17134-Microsoft
    Operating System: Ubuntu 16.04.5 LTS
    OSType: linux
    Architecture: x86_64
    CPUs: 8
    Total Memory: 15.9GiB
    Name: DESKTOP-4F100D9
    ID: EFH2:O3RT:3OO4:27P5:ZNK7:N5JW:WE5M:4VSK:QREN:YCV4:GSYG:ZDTR
    Docker Root Dir: /var/lib/docker
    Debug Mode (client): false
    Debug Mode (server): false
    Registry: https://index.docker.io/v1/
    Labels:
    Experimental: false
    Insecure Registries:
     127.0.0.0/8
    Live Restore Enabled: false
    
    WARNING: No memory limit support
    WARNING: No swap limit support
    WARNING: No kernel memory limit support
    WARNING: No oom kill disable support
    WARNING: No cpu cfs quota support
    WARNING: No cpu cfs period support
    WARNING: No cpu shares support
    WARNING: No cpuset support
    

    (我需要在Linux(WSL)下运行Docker-我无法使用Docker for Windows,因为我们使用的是VirtualBox,并且Hyper-V已禁用)

    2 回复  |  直到 6 年前
        1
  •  1
  •   DzeryCZ    6 年前

    目前,您不能直接从WSL使用docker守护程序。有几个问题,主要是网络问题。它只适用于像hello world这样的简单图像( Reddit topic

    default 或创建并启动一个新的。这个docker机器将是你的守护进程。

    默认情况下 docker-machine

    # Ability to run docker-machine command properly from WSL
    function docker-machine()
    {
        if [ $1 == "env" ]; then
                docker-machine.exe $1 $2 --shell bash | sed 's/C:/\/c/' | sed 's/\\/\//g' | sed 's:#.*$::g' | sed 's/"//g'
                printf "# Run this command to configure your shell:\n"
                printf "# eval \"\$(docker-machine $1 $2)\"\n"
        else
                docker-machine.exe "$@"
        fi
    }
    export -f docker-machine
    

    运行后 source ~/.bashrc 或者重新打开可以运行的bash:

    • docker-machine start default
    • eval $(docker-machine env default) -将bash会话连接到计算机

    然后你就可以运行所有的docker之类的东西了

    • docker ps
    • docker run -it alpine sh
    • docker build

        2
  •  0
  •   Yuxiang    6 年前

    这是一个简单的解决方案,即在WSL中使用windows上的Docker。

    .bashrc 文件。

    export PATH="$HOME/bin:$HOME/.local/bin:$PATH"
    export PATH="$PATH:/mnt/c/Program\ Files/Docker/Docker/resources/bin"
    alias docker=docker.exe
    alias docker-compose=docker-compose.exe
    

    https://blog.jayway.com/2017/04/19/running-docker-on-bash-on-windows/

    推荐文章