2016-04-15 1 views
1

Verwendung:Wie konfiguriere ich Sockets auf Docker-Compose Version 2?

  • ubuntu: 14,04
  • Docker 1.10.3
  • Docker-komponieren 1.6.2

ich so etwas wie Steckdosen auf Docker-compose Version 1, indem Sie einrichten können dieses:

container_name_1: 
container_name: container_1 
image: <- image -> 
volumes: 
    - "/root:/home/app" 
    - "/var/run/docker.sock:/var/run/docker.sock" 
    - "/usr/bin/docker:/usr/bin/docker:ro" 
    - "/usr/lib/x86_64-linux-gnu/libapparmor.so.1:/usr/lib/x86_64-linux-gnu/libapparmor.so.1:ro" 
    - "/usr/lib/x86_64-linux-gnu/libapparmor.so.1.1.0:/usr/lib/x86_64-linux-gnu/libapparmor.so.1.1.0:ro" 

container_name_2: 
container_name: container_2 
image: <- image -> 
volumes: 
    - "/root:/home/app" 
    - "/var/run/docker.sock:/var/run/docker.sock" 
    - "/usr/bin/docker:/usr/bin/docker:ro" 
    - "/usr/lib/x86_64-linux-gnu/libapparmor.so.1:/usr/lib/x86_64-linux-gnu/libapparmor.so.1:ro" 
    - "/usr/lib/x86_64-linux-gnu/libapparmor.so.1.1.0:/usr/lib/x86_64-linux-gnu/libapparmor.so.1.1.0:ro" 

Jedoch, wenn ich in der Version 2 Syntax versuche, funktioniert es nicht:

version: '2' 
services: 
    mysql: 
    image: mysql 
    ports: 
     - "3000:3306" 
    container_name: mysql_container 
    environment: 
     - MYSQL_ROOT_PASSWORD=<-- password --> 
     - MYSQL_DATABASE=<-- database --> 
    volumes_from: 
     - data 
    data: 
    image: ubuntu 
    container_name: data_container_name 
    volumes: 
     - /var/lib/mysql 
    do_something: 
    image: <-- image --> 
    container_name: action_container 
    volumes_from: 
     - data:/var/lib/mysql 
     - /var/run/docker.sock:/var/run/docker.sock 
     - /usr/bin/docker:/usr/bin/docker:ro 
     - /usr/lib/x86_64-linux-gnu/libapparmor.so.1:/usr/lib/x86_64-linux-gnu/libapparmor.so.1:ro 
     - /usr/lib/x86_64-linux-gnu/libapparmor.so.1.1.0:/usr/lib/x86_64-linux-gnu/libapparmor.so.1.1.0:ro 
    depends_on: 
     - data 
     - mysql 
volumes: 
    data_container_name: 
    driver: local 

Der Fehler, den ich bekommen ist:

ERROR: Unknown volumes_from type '/usr/bin/docker' in '/usr/bin/docker:/usr/bin/docker:ro' 

Ich habe eine Docker ausführbare an dieser Stelle und es funktioniert, wenn die Version 1 Format.

Irgendwelche Ideen?

Antwort

1

Die volumes_from syntax in version 2 erwähnt:

volumes_from: 
- service_name 
- service_name:ro 
- container:container_name 
- container:container_name:rw 

/usr/bin/docker ist weder ein Container oder ein Service-Namen.

volumes_from: 
    - data:/var/lib/mysql     <=== works 
    - /usr/bin/docker:/usr/bin/docker:ro <=== won't work 

Sie würden zu use volumes: um Pfade montieren müssen:

- /var/run/docker.sock:/var/run/docker.sock 
+0

Dank, dass für den Hinweis auf, ich lasse Sie wissen, wie es nach den Änderungen geht! – ecoding5

+0

Wir wissen, dass das Öffnen von Sockets für uns nicht das Beste ist und schauen stattdessen in die Docker Remote API. Wenn Sie volumes_from durch Ihre Erklärung referenzieren, funktioniert es zwar, es wird jedoch mehr benötigt, um Sockets einzurichten, und das ist eine ganz andere Frage. – ecoding5