2016-07-09 16 views

Trả lời

7

Tôi đã cài đặt Docker Beta cho Mac và không tìm thấy thư mục ~/.docker /.

Như đã đề cập trong "Docker for Mac vs. Docker Toolbox¶"

Với Docker cho Mac, bạn chỉ nhận được một máy ảo, và bạn không quản lý nó.
Ứng dụng này được quản lý bởi ứng dụng Docker for Mac, bao gồm tự động cập nhật phiên bản máy khách và máy chủ của Docker.

Nếu bạn cần nhiều máy ảo và muốn quản lý các phiên bản của khách hàng Docker hoặc máy chủ bạn đang sử dụng, bạn có thể tiếp tục sử dụng docker-machine

Vì vậy, bạn sẽ thấy trong các tập tin ~/.docker/machine chỉ khi bạn quyết định tạo của riêng bạn.

Với Docker mới cho cài đặt Mac, kiểm tra xem có bất kỳ giấy chứng nhận trong /Applications/Docker.app/ (như trong /Applications/Docker.app/Contents/Resources)

Nếu bạn dựa vào mặc định HyperKit, sau đó không có nhu cầu cấp giấy chứng nhận để liên lạc với VM với lệnh docker.
Như được minh họa bằng các nhận xét bên dưới (và OP Kroderia 's answer), máy ảo mặc định chỉ được truy cập thông qua /var/run/docker.sock.
Như Ellis ý kiến ​​dưới đây, có thể là một thách thức đối với một số phần mềm như PyCharm:

khi nó (PyCharm) cố gắng kết nối nó tạo ra:

Cannot connect: javax.ws.rs.ProcessingException: 
Could not initialize class org.newsclub.net.unix.NativeUnixSocket" 

Issue 153973 gợi ý:

Điều này là do plugin Docker đó được đóng gói trong PyCharm. Nó có thể được cập nhật bằng tay nhưng ngay cả với Docker 2.3.1 vấn đề với trình thông dịch Docker Python sẽ không được sửa.
PyCharm 2016.2 EAP sau khi sửa chữa đang được tiến hành.

Giải pháp thay thế với socat bạn mô tả sẽ có sẵn trong PyCharm 2016.2 EAP tiếp theo. EAP tiếp theo sẽ sớm được phát hành với phiên bản plugin Docker cập nhật.

socat TCP-LISTEN:2375,reuseaddr,fork UNIX-CONNECT:/var/run/docker.sock 
+0

Chúng dường như không ở bất kỳ đâu trong Docker.app. Tôi đang gặp vấn đề tương tự như sự tích hợp OP - PyCharm, trong trường hợp của tôi. – Ellis

+0

@Ellis bạn có tuyên bố tạo một máy ảo hoặc kết nối với máy ảo Hyper-V (cho máy ảo mới) không? Bạn đã làm một 'docker-machine ls', hay' docker-machine ssh default'? – VonC

+0

Không có máy nào được liệt kê dưới ls docker-máy, và hiển thị mặc định s-docker-máy ssh 'Máy chủ không tồn tại: "mặc định"'. Nhưng rõ ràng Docker cho Mac VM đang chạy, như tôi có docker container chạy bằng cách sử dụng docker-compose. – Ellis

7

@VonC có câu trả lời đúng nhất.

Tôi chỉ muốn cung cấp giải pháp cho câu hỏi này. Câu hỏi đặt ra là sử dụng kết nối để quản lý docker. Trong thực tế tôi đang sử dụng Docker Integration trong IntelliJ.

  1. Như đã đề cập trong Docker for Mac vs. Docker Toolbox

Vào lúc cài đặt, Docker cho quy Mac một HyperKit VM dựa trên Alpine Linux, chạy Docker Engine. Nó cho thấy API docker trên một ổ cắm trong /var/tmp/docker.sock

Tuy nhiên, đó không phải là sự thật, đường dẫn ổ cắm thực là /var/run/docker.sock. Bây giờ bạn có thể sử dụng unix:///var/run/docker.sock làm URL API trong Docker Integration, không cần tệp chứng chỉ.

  1. Đoán những gì, Docker Integration ver 2.2. *, Hoạt động trong xây dựng ổn định (2016,1), thất bại với kết nối unix trong Mac và đã cố định trong ver 2.3.1, mà làm việc trong bản xem trước (2016.2). Có nghĩa là nếu bạn muốn làm cho nó hoạt động đúng, bạn sẽ cần phải cập nhật IntelliJ của bạn để xem trước xây dựng và cài đặt các plugin mới nhất.

  2. Đây là điều tồi tệ nhất. Các Docker Integration ver 2.3.1 có NullPointerException khi triển khai Dockerfile, hoạt động trong phiên bản ổn định của IntelliJ và Docker Integration ver 2.2. * Thông qua kết nối http. Tôi đã gửi một email đến tác giả plugin và chờ đợi một giải pháp mang tính lông thú.

+0

Cũng phát hiện ở phía ổ cắm. +1 – VonC

+3

2.3.2 Plugin trình cắm, PyCharm xây dựng 162.1237.1. Nó bây giờ thông báo cho bạn để chạy lệnh socat ... khi bạn cố gắng nhập unix: ///var/run/docker.sock làm URL API. Sau khi thực hiện điều này (và trỏ URL tại localhost), máy chủ kết nối với hệ thống Docker Beta và cho phép bạn chọn một hình ảnh. Tuy nhiên, nó bị kẹt 'chờ kết nối' trong khi kết nối với trình gỡ lỗi. Nó bắt đầu container và bên trong nếu tôi chạy ps aux tôi thấy python -u /opt/.pycharm_helpers/pydev/pydevd.py --multiproc --qt-support --client 10.0.2.2 --port 61276 --file/opt /project/app.py. Các tập tin là có quá, Bất kỳ con trỏ? – LaserJesus

+1

@LaserJesus bất kỳ may mắn nhận được PyCharm để chơi tốt đẹp với Docker cho Mac? –

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