Docker gibt /var/run/docker.sock frei, wenn über Docker Machine bereitgestellt wird

Docker gibt /var/run/docker.sock frei, wenn über Docker Machine bereitgestellt wird

Ich habe versucht, meine Container mit Docker Machine und Docker Compose bereitzustellen. Ich verwende einWindows 10mitDocker für Windows v1.12.5.

Wenn ich meine Konfiguration starte, führe ich Folgendes aus:

docker-machine env my-machine
& "C:\Program Files\Docker\Docker\Resources\bin\docker-machine.exe" env my-machine | Invoke-Expression

das setzt meine Maschine als aktiv

Anschließend möchte ich meine Konfiguration bereitstellen, die eineNginx-Proxyund einnodejsAnwendung. Auf diesem Proxy habe ich 2 Sites konfiguriert.

server {
    listen 443 ssl;
    server_name mysite.com;

    access_log /var/log/nginx/mysite.log;
    error_log /var/log/nginx/mysite.log;

    location / {
      add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $http_host;
      proxy_set_header X-NginX-Proxy true;
      proxy_pass http://myapp:8080/;
      proxy_redirect off;
    }

    location ^~ /.well-known/acme-challenge {      
      root /usr/share/nginx/html;
      default_type "text/plain";      
    }

    ssl_certificate /etc/letsencrypt/live/msite.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/mysite.com/privkey.pem;
    ssl_session_cache shared:le_nginx_SSL:1m;
    ssl_session_timeout 1440m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;
    ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES128-SHA ECDHE-ECDSA-AES256-SHA ECDHE-ECDSA-AES128-SHA256 ECDHE-ECDSA-AES256-SHA384 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES128-SHA ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES256-SHA384 DHE-RSA-AES128-GCM-SHA256 DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES128-SHA DHE-RSA-AES256-SHA DHE-RSA-AES128-SHA256 DHE-RSA-AES256-SHA256 EDH-RSA-DES-CBC3-SHA";
}

server {
    listen 8000;
    server_name mysite;
    return 301 https://$host$request_uri;
}

Nginxsollte jetzt ein Zertifikat erhalten, hierfür habe ich herausgefunden, dass ich das verwenden kann, letsencrypt-nginx-proxy-companiondas die Zertifikate für meine Sites generieren und verwalten würde.

Meine Konfiguration für diesen Begleiter ist wie folgt:

letsencrypt-nginx-proxy-companion:
  image: jrcs/letsencrypt-nginx-proxy-companion
  volumes_from:
    - nginx
  volumes:
    - /var/run/docker.sock:/tmp/docker.sock:ro
    - nginx_certs:/etc/nginx/certs:rw
  environment:
    - NGINX_DOCKER_GEN_CONTAINER=nginx-gen

Bei jedem Ausführen docker-compose up -derhalte ich die folgende Fehlermeldung:

für letsencrypt-nginx-proxy-companion. Container für Dienst letsencrypt-nginx-proxy-companion kann nicht erstellt werden: create \var\run\docker.sock: „\var\run\docker.sock“ enthält ungültige Zeichen für einen lokalen Datenträgernamen, nur „[a-zA-Z0-9][a-zA-Z0-9_.-]“ sind zulässig.

Hoffentlich kann mir jemand helfen, diesen Fehler zu beheben.

verwandte Informationen