我是一个带有docker& amp;的新手量角器所以请耐心等待。
我有一个应用程序,它的后端API使用python和django,而使用量角器的前端和e2e测试使用angular.js。所以这就是我认为我应该继续下去的方式:
请帮助我查看实现此目的的步骤。 This video提供了一些见解,但不确定从哪里开始。
答案 0 :(得分:1)
你最初的想法是正确的。设置时,我通常使用docker-compose文件,如此...
#docker-compose.yml
version: '2'
services:
backend:
build: ./backend
command: <your django startup command>
db:
image: <postgres or whatever>
frontend:
build: ./frontend
command: <npm start or equivalent>
ports:
- "80:80"
然后,我会用
运行我的测试docker-compose run --rm frontend <MY TESTING COMMAND HERE>
Docker-compose为您处理docker网络内容 - 在这种情况下,您的前端将能够在http://backend:访问您的后端。量角器和npm以及所有有趣的东西都安装在你的前端容器中。
你还没有想到的一个主要痛点是量角器需要显示器才能工作 - 它不能像无人机浏览器一样工作,你的码头工人通常不会提供这种浏览器。这个repo是一个如何安装真实浏览器并提供虚假显示的示例,以便它可以在容器中工作...... https://github.com/mark-adams/docker-chromium-xvfb,基本上用一个启动xvfb接口的shell脚本替换chrome启动脚本并将浏览器附加到它。