Tôi đang sử dụng docker-compose để phát triển . Trong quá trình này, tôi thường cần phải xây dựng 5 container (1 cho web-server và 4 container cho postgres, redis, mongo, vv). Thùng chứa máy chủ web được định cấu hình để bao gồm các liên kết cho các vùng chứa khác, nó có các vũng ENV riêng, được gắn khối lượng từ máy chủ phát triển.Xây dựng vùng chứa với docker-compose, nhưng chạy/etc/bash với tùy chọn -it sau?
Vấn đề là tôi không cần vùng chứa web để chạy chính máy chủ. Istead này tôi cần phải thực hiện /etc/bash
với -it
tùy chọn bên trong container web sau khi tất cả các container phụ thuộc được tạo ra. Đó là lý do, dockerfile tôi cho web chứa kết thúc với:
CMD /bin/true
Rõ ràng, trong bao bì như vậy sẽ không được chạy, vì vậy tôi không thể sử dụng smth như
docker exec -it <CONTAINER ID> /bin/bash
để "enter" nó và chạy node app.js
hoặc một số nhiệm vụ khác.
Bất kỳ cách nào để tạo vùng chứa bằng soạn thảo như một phần của tệp docker-compose.yml
, nhưng chạy/etc/bash với tùy chọn -it sau?
BTW, chắc chắn tôi có thể tự bắt đầu một web chứa riêng biệt với
docker run \
--link postgres
--link ...
-e "NODE_ENV=development" \
-e ... \
...
...
..
nhưng nó trường hợp này tôi cần phải thêm tất cả các liên kết, env VAR, khối lượng, vv như argumets mọi Tôi sẽ phát triển một ứng dụng.
Bạn có thể giải thích thêm về trường hợp sử dụng/quy trình làm việc của mình không? Có vẻ phức tạp không cần thiết? – johnharris85