2015-07-20 40 views
16

Tôi đã cài đặt docker trên máy ảo lưu trữ của mình. Và bây giờ muốn tạo một tệp bằng cách sử dụng vi.Làm thế nào để chạy vi trên docker container?

Nhưng nó hiển thị cho tôi một lỗi:

bash: vi: command not found 
+0

vi có thể không được cài đặt bên trong vùng chứa. Bạn đã cài đặt và chạy bộ chứa nào? –

+0

Bạn phải cụ thể hơn. Bạn đang cố gắng để chạy vi bên trong một container, nếu như vậy mà hình ảnh là container dựa trên? Trong tất cả các khả năng bạn không có vi cài đặt. (apt-get install vim) – wpp

+0

Nó phụ thuộc vào 'hình ảnh' bạn đang xây dựng. Có lẽ hầu hết các hình ảnh 'bạn đang sử dụng là nhẹ hơn vì nó chỉ có những thứ bạn cần để chạy như một hình ảnh. Bạn cần phải tự cài đặt các gói bạn cần. – illusionist

Trả lời

18

chứa của bạn có thể đã không được cài đặt nó ra khỏi hộp.

Chạy apt-get install vim trong thiết bị đầu cuối và bạn sẽ sẵn sàng sử dụng.

+0

Đúng, nhưng tôi thích 'vim-tiny' (Ubuntu) –

+8

Đừng quên chạy bản cập nhật' apt-get' trước. – AVProgrammer

10

đăng nhập vào container với lệnh sau đây:

docker exec -it <container> bash 

Sau đó, chạy lệnh sau.

apt-get update 
apt-get install vim 
0

Cách khác, giữ hình ảnh đế của bạn nhỏ bằng cách không cài đặt trình chỉnh sửa không cần thiết. Bạn có thể chỉnh sửa các tệp trên ssh từ máy chủ lưu trữ đế tới vùng chứa:

vim scp://[email protected]//path/to/document 
0

Lệnh chạy phụ thuộc vào hình ảnh cơ bản bạn đang sử dụng.

Đối với Alpine, vi được cài đặt như một phần của hệ điều hành cơ sở. Cài đặt vim sẽ là:

apk -U add vim 

Đối với Debian và Ubuntu:

apt-get update && apt-get install -y vim 

Đối với CentOS, vi thường được cài đặt với các hệ điều hành cơ bản. Đối với vim:

yum install -y vim 

Điều này chỉ nên được thực hiện trong giai đoạn phát triển sớm. Khi bạn nhận được vùng chứa hoạt động, các thay đổi đối với tệp phải được thực hiện cho hình ảnh hoặc cấu hình của bạn được lưu trữ bên ngoài vùng chứa của bạn. Cập nhật Dockerfile của bạn và các tệp khác mà nó sử dụng để tạo một hình ảnh mới. Điều này chắc chắn không nên được thực hiện trong sản xuất kể từ khi thay đổi bên trong container là do thiết kế tạm thời và sẽ bị mất khi container được thay thế.

0

Để cài đặt trong container Docker của bạn, bạn có thể chạy lệnh

docker exec apt-get update && apt-get install -y vim

Nhưng điều này sẽ được giới hạn ở những thùng chứa trong đó vim được cài đặt. Để làm cho nó có sẵn cho tất cả các container, chỉnh sửa và thêm Dockerfile

RUN apt-get update && apt-get install -y vim

hoặc bạn cũng có thể mở rộng hình ảnh trong Dockerfile mới và thêm trên lệnh. Ví dụ.

FROM < image name >

RUN apt-get update && apt-get install -y vim

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