Mer*_*cer 1 angularjs docker dockerfile docker-compose
我在后端有一个Angularjs前端和一个Spring-Boot Rest API.我创建了两个Docker
DockerFile Front:
FROM httpd:2.4
COPY ./public-html/ /usr/local/apache2/htdocs/
Run Code Online (Sandbox Code Playgroud)
DockerFile返回:
FROM tomcat:8.0
EXPOSE 8080
COPY rest-api.war /usr/local/tomcat/webapps/rest-api.war
Run Code Online (Sandbox Code Playgroud)
我有一个Docker-Compose文件,我已经定义了Alias
多克尔 - 撰写:
rest:
image: restapi
container_name: restapi
ports:
- "8080:8080"
frontend:
image: frontend
container_name: frontend
ports:
- "80:80"
Run Code Online (Sandbox Code Playgroud)
app.controller('MainCtrl', function ($scope, $location, $http, MainService) {
var that = this;
var baseUrl = 'http://rest:8080';
Run Code Online (Sandbox Code Playgroud)
当我lauchn我的应用程序在控制台中我有这个
错误:
GET http://rest:8080/category net::ERR_NAME_NOT_RESOLVED
Run Code Online (Sandbox Code Playgroud)
******更新******
我创建了一个网络
$docker network create my-network
Run Code Online (Sandbox Code Playgroud)
我重新定义了我的docker-compose文件
连接到该网络的容器到达其他容器.
所以我有同样的错误.
当我在Kitematic中看到我的后端有这样的ip:
当我在主机文件中看到ip不一样时.
当我用Kitematic的IP修改我的控制器时所有工作,但当我使用别名不起作用
所以你试图在浏览器(Angular)应用程序中使用链接别名?Docker仅将这些别名公开给容器.您的本地开发系统位于docker网络之外,不会将这些添加到主机文件中,因此无法将主机解析为IP.
在容器内运行的任何应用程序(如Node.js后端)都可以使用这些别名.浏览器不能.
归档时间: |
|
查看次数: |
1900 次 |
最近记录: |