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.)
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (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.)