2016-03-29 24 views
16

Tôi đang cung cấp một thùng chứa docker riêng trong công ty và muốn đồng nghiệp của tôi có thể truy cập vào mạng nội bộ của chúng tôi, vấn đề là hệ điều hành khách của tôi là OSX và vì vậy tôi chỉ có thể truy cập ứng dụng của mình bằng cách sử dụng 192.168.99.100 : 3000 ip mặc định từ máy docker.Làm cách nào để chuyển tiếp cổng máy docker đến cổng máy chủ của tôi trên OSX?

Làm thế nào tôi có thể chuyển tiếp cổng 3000 máy docker đến cổng 80 lưu trữ của tôi?

Trả lời

23

Lúc này Docker Machine là một máy ảo chạy dưới VirtualBox trong máy của bạn, vì vậy để lộ cổng ứng dụng của bạn, bạn cần ánh xạ cổng máy ảo của bạn đến cổng máy chủ.

Để đạt được điều này có hai lựa chọn, nhưng trước khi đảm bảo chạy máy Docker của bạn được dừng lại:

docker-machine stop default  # see PS below if docker machine isn't default 

Lựa chọn 1 - Sử dụng giao diện VirtualBox

  • mở VirtualBox quản lý
  • Chọn hình ảnh Máy ảo của Docker (ví dụ: mặc định)
  • Cài đặt mở -> Mạng -> Advanced -> Port Forward
  • Thêm tên ứng dụng của bạn, cổng mong muốn chủ (ví dụ: 80) và Khách của cổng (ví dụ: 3000)

Lựa chọn 2 - Sử dụng dòng lệnh VirtualBox

Chỉ cần chạy lệnh sau đây với các thông số của riêng bạn:

VBoxManage modifyvm "dev" --natpf1 "myapp,tcp,,80,,3000" 

cân nhắc cuối cùng

Bây giờ bạn có thể bắt đầu Máy Docker của bạn chạy:

docker-machine start default 
eval $(docker-machine env default) 

Sau đó chỉ cần khởi động phần mềm Docker container của bạn và thử nghiệm nó chạy http://localhost/.

P.S .: Tên máy Docker của bạn có thể không phải là mặc định, trong trường hợp này thay đổi tên cho phù hợp.

+1

Trong số tất cả các câu trả lời tôi đã khám phá, đây là cách giúp tôi. +1 – Tagc

+2

Không cần phải chạy 'docker-machine stop' trước. Điều này có thể đã thay đổi kể từ khi câu trả lời được đăng, nhưng nó đã đúng trong ít nhất vài tháng qua. – toddkaufmann

+0

Có cách nào để có được bất kỳ/tất cả các cổng ánh xạ tới Docker Host trong VirtualBox không? Dường như rất nhiều rắc rối để thiết lập một cổng mới ràng buộc mỗi lần! –

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