2015-04-06 26 views
9

Tôi có một tập tin Docker-compose.yml dọc theo dòng:Docker-soạn chạy không đặt liên kết

analytics: 
    build: . 
    links: 
    - mongo:mongo 
    ports: 
    - 80:80 
mongo: 
    build: docker_containers/mongo 
    expose: 
    - 27017 

Chạy docker-compose up tạo ra một liên kết trong /etc/hosts với dịch vụ mongo. Tuy nhiên, chạy docker-compose run analytics bash không tạo liên kết - tôi đã kiểm tra tệp /etc/hosts.

Các tài liệu về việc sắp xếp docker không đề cập đến bất kỳ điều gì về điều này, vì vậy tôi bị nhầm lẫn.

  1. Tại sao liên kết không được đặt khi sử dụng run?
  2. Làm cách nào để đạt được điều này?
+0

Cùng một vấn đề ở đây. Lỗi đã bị đóng vì không có thêm thông tin nào. Có lẽ bạn có thể mở lại? –

Trả lời

1

tôi chỉ có một câu trả lời cho câu hỏi số 2. Bắt đầu toàn bộ môi trường sử dụng docker-compose run và sau đó thực hiện docker exec trong các thùng chứa phân tích

docker exec -ti $analytics_container_id bash 
+0

Những gì tôi đã làm cuối cùng là bắt đầu thùng chứa mongo với 'docker-compose up -d mongo' và sau đó chạy lệnh của tôi với' docker-compose run analytics [...] '. Cảm ơn! –

2

Đưa tôi về câu trả lời:

  1. Đó là một lỗi.
  2. Xem thử đã được sửa trong một số unreleased version of docker-compose hoặc create an issue asking that the bug be fixed.
+0

Không tìm thấy gì trong ghi chú phát hành. Tôi đã mở https://github.com/docker/compose/issues/1276. Cảm ơn! –

+0

Xác nhận rằng đó là lỗi, vì [doc] (http://docs.docker.com/compose/cli/#run) nói "theo mặc định, các dịch vụ được liên kết cũng sẽ được bắt đầu". Việc mở một vấn đề là điều đúng đắn để làm! – jpetazzo

Các vấn đề liên quan