Memo/Windows/10/WSL/Docker

https://dexlab.net:443/pukiwiki/index.php?Memo/Windows/10/WSL/Docker
 

Docker


Docker Desktop for Windows


docker-composeで「volumes:」を指定しても空になる

  • 問題
    • docker-compose.yml に以下のように相対パスで指定しても、実際は空になる。
          volumes:
            - ./conf:/conf
  • 原因
    • Docker Desktop for Windowsはwindowsアプリなので、WSLのディレクトリ(/home/以下等)は参照できない。「/c/...」のパスなら認識する。
    • WSLのデフォルトは「/mnt/c/...」のようにマウントされている。
  • 解決
    • マウントしたいファイルを/c/以下に起き、絶対パスで指定する。(Docker Desktop for Windowsから見える場所にファイルを置く)
          volumes:
            - /c/tmp/conf:/conf

Ubuntu上のDocker

WSL 1で、Docker 18.xはまだ動作しないようだ。

  • dockerのインストール
    sudo apt update
    sudo apt -y upgrade
    
    lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 18.04.1 LTS
    Release:        18.04
    Codename:       bionic
    
    sudo apt install -y docker.io
    sudo cgroupfs-mount
    sudo usermod -aG docker $USER
  • docker起動スクリプト:
    cat >> docker.sh << EOD
    #!/usr/bin/env bash
    sudo -S cgroupfs-mount
    sudo service docker start
    sleep 15
    docker version
    EOD
    
    chmod +x docker.sh
  • 起動: WSL terminalを「管理者として実行」する必要がある
    ./docker.sh
    [sudo] password for user01: *****
    
    Client:
     Version:           18.06.1-ce
    ...
    
    Server:
     Engine:
      Version:          18.06.1-ce
    ...
  • Hello world
    docker run hello-world
  • 「Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?」の場合、WSL terminalが「管理者として実行」になっているかを確認後、docker再起動
    sudo service docker restart

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-04-20 (月) 13:19:27 (163d)