2016-01-08 4 views
3

Используя ниже docker-compose.yml файл, если я запустил команду «docker-compose up» или «docker-compose up -d», тогда я вижу, что состояние обоих контейнеров завершено, но когда я запускаю docker restart <postgres-containerId>, тогда он запускается, но когда я пытаюсь запустите docker restart <java8-containerId>, затем перезапустите его и снова выйдите.docker-compose - невозможно подключить к контейнерам

Не могли бы вы предложить какой параметр мне нужно указать, чтобы сделать эти containers up and running после docker-compose up команды и how do I attach to java container я попытался с docker attach <java8-containerId> команды, но был не в состоянии приложить?

docker-compose.yml file - 

postgres: 
    image: postgres:9.4 
    ports: 
    - "5430:5432" 

javaapp: 
    image:java8:latest 
    volumes: 
    - /pgm:/pgm 
    working_dir: /pgm 
    links: 
    - postgres 
    command: /bin/bash 

docker-compose ps results - 
     Name      Command    State Ports 
-------------------------------------------------------------------- 
compose_javaapp_1 /bin/bash      Exit 0   
compose_postgres_1 /docker-entrypoint.sh postgres Exit 0  

ответ

-1

Просто убедитесь, что контейнер работает и docker attach <containerId> работает как шарм.

Я испытал его на:

postgres: 
    image: postgres:9.4 
    ports: 
    - "5430:5432" 

javaapp: 
    image: java:8 
    links: 
    - postgres 
    command: tail -f /dev/null 

использованием docker-compose up -d

+0

Спасибо! после добавления команды «команда: tail -f/dev/null» я могу видеть, что оба состояния контейнеров как вверх и запускаются, так и команда docker attach была успешной, но я не могу получить командную строку (bash) внутри контейнера it просто показывает пустые строки. – raj

+0

Attach поставит вас в контексте запуска процесса в этом случае хвоста/dev/null. Если вы хотите взаимодействовать с контейнером, используя команду, отличную от той, которая была использована для запуска контейнера, посмотрите на 'docker exec' commad – Fuxi

2

Чтобы увидеть доступные контейнеры:

docker ps -a

Чтобы открыть контейнер оболочки:

docker exec -it <container-name> /bin/bash

Смежные вопросы