tôi đang cố gắng làm https://devopswithdocker.com/ tất nhiên, nhưng tôi không quá quen thuộc với node.js và phản ứng. Tôi sao chép kho lưu trữ đây và tạo một Dockerfile trong ví dụ-phụ trợ và ví dụ-giao diện người dùng. Dockerfiles của tôi trông như thế này:
ví dụ về lối vào/Dockerfile
TỪ nút: 14
WORKDIR /usr/src/ứng dụng
SAO CHÉP . .
ENV REACT_APP_BACKEND_URL=http://127.0.0.1:8080/
CHẠY cài đặt npm
CHẠY npm chạy bản dựng
CHẠY cài đặt npm -g phục vụ
CMD phục vụ -s -l 5000 bản dựng
ví dụ phụ trợ/Dockerfile
TỪ golang:1.16
WORKDIR /usr/src/ứng dụng
SAO CHÉP . .
ENV REQUEST_ORIGIN=http://127.0.0.1:5000/
CHẠY đi xây dựng
CMD ./máy chủ
Sau đó, tôi chỉ cần chạy:
xây dựng docker. -t lối vào
xây dựng docker. -t phụ trợ
và sau đó:
docker run -p 5000:5000 giao diện người dùng
docker run -p 8080:8080 phụ trợ
Khi tôi kiểm tra kết nối ở giao diện người dùng, tôi nhận được trang web có một nút để kiểm tra tuyến ping ở phần phụ trợ, nhưng khi tôi kiểm tra nó, tôi thấy 403 và Chính sách liên kết giới thiệu: nghiêm ngặt-xuất xứ-khi-xuất xứ chéo trong mạng chuyển hướng. Điều kỳ lạ là tôi có thể truy cập tuyến đường ping ở mặt sau từ trình duyệt của mình, nhưng không phải vùng chứa giao diện người dùng. Tôi đã thử ánh xạ các cổng Docker bên trong sang các cổng khác nhưng không thành công. Tôi đã thử thay đổi http://127.0.0.1:5000/ trong vùng chứa phía sau http://localhost:5000/, '*', http://127.0.0.1/, hiển thị rõ ràng các cổng trong Dockerfile, v.v. Đã nghiền ngẫm cái này được hai ngày rồi. Mọi thứ tôi google về vấn đề này đều xuất hiện với việc thay đổi nút và mã phản ứng mà chúng ta không cần phải thực hiện thủ công.