docker 간 API 액세스(for Mac)
프론트 docker와 APIdocker 간에 액세스하는 방법
예를 들어 nuxt와 RESTAPI를 사용하여 개발하고 싶다면 github의 리포지토리를 프론트와 API로 나눌 것입니다.
리포지토리
전제
api-docker가
localhost:10000/api
로 기동하고 있다고 해서 localhost:10000/api
를 두드리면 응답이 돌아오는 상태로 합니다.api-docker 엔드포인트
BAD
이렇게하면 nuxt (front-docker)에서 api (api-docker)에 localhost:10000/api
로 액세스 할 수 없습니다.
localhost:10000/api
※ nuxt가 docker가 아닌 경우는 이것으로 OK
GOOD
docker끼리의 액세스이므로 localhost
의 부분을 http://docker.for.mac.localhost
로 할 필요가 있습니다.
http://docker.for.mac.localhost/api
프록시 설정
다음으로 프록시 설정입니다. 위만이라면 CORS (Cross-Origin Resource Sharing)로 화를냅니다.
환경마다 API의 엔드포인트가 바뀌므로 cross-env로 env 파일을 준비해 둔다
$ yarn add cross-env
config/env.development.tsmodule.exports = {
API_HOST: 'http://docker.for.mac.localhost',
}
@nuxtjs/proxy 설치
$ yarn add @nuxtjs/proxy
nuxt.config.ts에 추가
nuxt.config.ts
const envSet = require(`./config/env.${environment}.ts`)
const API_HOST = envSet.API_HOST
const config: NuxtConfiguration = {
...省略
modules: [
'@nuxtjs/axios',
'@nuxtjs/proxy'
],
/*
** Axios module configuration
** See https://axios.nuxtjs.org/options
*/
axios: {
proxy: true
},
proxy: {
'/api': {
target: `${API_HOST}`,
changeOrigin: true,
pathRewrite: {
'^/api/': '/api/'
}
}
}
...省略
}
Reference
이 문제에 관하여(docker 간 API 액세스(for Mac)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/amagurix/items/b8e2bafa908fccabfb55
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
localhost:10000/api
http://docker.for.mac.localhost/api
다음으로 프록시 설정입니다. 위만이라면 CORS (Cross-Origin Resource Sharing)로 화를냅니다.
환경마다 API의 엔드포인트가 바뀌므로 cross-env로 env 파일을 준비해 둔다
$ yarn add cross-env
config/env.development.ts
module.exports = {
API_HOST: 'http://docker.for.mac.localhost',
}
@nuxtjs/proxy 설치
$ yarn add @nuxtjs/proxy
nuxt.config.ts에 추가
nuxt.config.ts
const envSet = require(`./config/env.${environment}.ts`)
const API_HOST = envSet.API_HOST
const config: NuxtConfiguration = {
...省略
modules: [
'@nuxtjs/axios',
'@nuxtjs/proxy'
],
/*
** Axios module configuration
** See https://axios.nuxtjs.org/options
*/
axios: {
proxy: true
},
proxy: {
'/api': {
target: `${API_HOST}`,
changeOrigin: true,
pathRewrite: {
'^/api/': '/api/'
}
}
}
...省略
}
Reference
이 문제에 관하여(docker 간 API 액세스(for Mac)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/amagurix/items/b8e2bafa908fccabfb55텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)