2013-09-26 143 views
24

Tôi có một vùng chứa docker mà tôi muốn sử dụng để phân chia quyền truy cập máy khách vào cơ sở dữ liệu. Tôi muốn có thể có một thùng chứa cho mỗi khách hàng. Nếu tôi bắt đầu nhiều bản sao của vùng chứa, tất cả chúng đều có cùng tên, thì khác biệt duy nhất là cổng mà vùng chứa được gán cho.Làm cách nào để sao chép và đổi tên vùng chứa Docker?

Làm cách nào để sao chép/đổi tên vùng chứa theo cách sao cho tôi có thể phân biệt vùng chứa mà không phải tham khảo bảng tra cứu phù hợp với cổng được chỉ định cho khách hàng?

+0

Tôi vẫn đang tìm cách đổi tên vùng chứa – Kostanos

+0

Đây là [vấn đề mở] (https://github.com/docker/docker/issues/3036). – kojiro

+0

Đây phải là câu trả lời được chấp nhận ngay bây giờ: http://stackoverflow.com/a/28068308/1725096 –

Trả lời

7

Tất cả các vùng chứa đều có tên uniq. Khi bạn làm docker ps Bạn có thể thấy cột đầu tiên là ID. Sau đó, bạn có thể điều khiển vùng chứa của mình bằng ID này.

Bạn thực sự cần ID này để thực hiện bất kỳ hoạt động trên thùng (stop/start/kiểm tra/etc ..)

Tôi không chắc chắn về những gì bạn đang cố gắng để làm, nhưng đối với mỗi khách hàng, bạn có thể bắt đầu vùng chứa mới và sau đó liên kết ID vùng chứa với ID người dùng của bạn.

Hiện tại, không có đặt tên vùng chứa trong Docker, do đó bạn không thể đặt tên hoặc đổi tên vùng chứa, bạn chỉ có thể sử dụng ID của nó.

Trong các phiên bản sau, việc đặt tên cho vùng chứa sẽ được triển khai.

+2

Khi Docker 0.6.5 đặt tên vùng chứa đã được triển khai, nhưng bạn không thể cung cấp tên cho vùng chứa hiện tại. Tôi nghi ngờ rằng điều này sẽ không được thực hiện; chỉ cần dừng thùng chứa và chạy một phiên bản mới có tên. –

+2

"chỉ" là một từ chồn. Tôi có một trường hợp mà tôi muốn giữ một container xung quanh để kiểm tra trong quá trình gỡ lỗi, nhưng muốn trả lại và khởi động lại dịch vụ trong trường hợp được đặt tên mới. Tôi nghĩ rằng những gì tôi có thể làm trong trường hợp này, ít nhất, là snapshot container và rm nó, phát hành tên để sử dụng trong trường hợp mới được đặt tên. –

18

Tôi đang sử dụng Docker 1.0.1 và sau đây cho phép tôi để đổi tên một hình ảnh:

docker tag 1cf76 myUserName/imageName:0.1.0 
+7

Nhưng hình ảnh không phải là một vùng chứa. – kojiro

+0

@kojiro nhưng thùng chứa không bao giờ có tên thân thiện, phải không? Chúng luôn là những chuỗi ngẫu nhiên. Vì vậy, câu trả lời có lẽ là "bạn không thể - nhưng bạn có thể lưu chúng dưới dạng hình ảnh mà bạn có thể đặt tên thân thiện". –

+5

@RobinWinslow họ có tên thân thiện. Lưu ý cờ '--name' hoặc cột ngoài cùng bên phải trong đầu ra' docker ps'. – kojiro

33

Lệnh docker rename là một phần của Docker 1.5. Liên kết để cam kết: docker github

+0

Và thay vì nhập tên vùng chứa (có thể ngẫu nhiên) cũ, bạn cũng có thể sử dụng một khởi đầu duy nhất của id vùng chứa đã cho, ví dụ: 'docker rename 646 newname'. –