Có cách nào để chia sẻ một khối lượng .bash_history
với một thùng chứa docker để mỗi khi tôi đi vào một vỏ tôi có lịch sử bash của tôi có sẵn để di chuyển qua?Docker và .bash_history
Sẽ thật tuyệt vời để có thể làm điều tương tự với IPython.
Có cách nào để chia sẻ một khối lượng .bash_history
với một thùng chứa docker để mỗi khi tôi đi vào một vỏ tôi có lịch sử bash của tôi có sẵn để di chuyển qua?Docker và .bash_history
Sẽ thật tuyệt vời để có thể làm điều tương tự với IPython.
Đây là ví dụ từ documentation about volume: Mount a host file as a data volume:
docker run --rm -it -v ~/.bash_history:/root/.bash_history ubuntu /bin/bash
này sẽ thả bạn vào một vỏ bash trong một container mới, bạn sẽ có lịch sử bash của bạn từ các máy chủ và khi bạn thoát khỏi container, máy chủ sẽ có lịch sử của các lệnh được nhập trong khi trong vùng chứa.
Trong docker-compose.override.yml
của bạn:
version: '2'
services:
whatever:
…
volumes:
- …
- ~/.bash_history:/root/.bash_history
Tài liệu hướng dẫn rằng các ổ đĩa được gắn phải bắt đầu bằng '/'. Nó không làm việc cho tôi với '~'. – aghull
@aghull bạn có thể thay thế '~' bằng giá trị của '$ HOME', nhưng nó sẽ ít di động hơn –
Để giữ lịch sử IPython, bạn có thể thiết lập các biến môi trường IPYTHONDIR
đến nơi nào đó trong khối lượng ánh xạ của bạn.
Các docker-compose.override.yml
sẽ trông như thế này:
version: '2'
services:
some-service:
environment:
- IPYTHONDIR=/app/.ipython
volumes:
- .:/app
tôi nên đã thêm một nhận xét về vấn đề này - Tôi thấy điều này và thử nó, nhưng không thành công. Dường như các lệnh tôi chạy bên trong vùng chứa không cập nhật tệp '.bash_history'. Tôi đang chạy các lệnh bên trong container như người dùng root. Bất kỳ ý tưởng? – tzenderman
Có phải cùng một người dùng trên máy chủ và trong vùng chứa không? – user2915097
Không, người dùng trên máy chủ của tôi là người dùng của tôi và người dùng bên trong vùng chứa là gốc. Nhưng tôi không nghĩ rằng nên thay đổi bất cứ điều gì? Khi tôi ở trong thùng chứa, có vẻ như không có tệp .bash_history ở bất kỳ nơi nào được ghi vào khi tôi thực thi lệnh. – tzenderman