티스토리 뷰
저는 제 개인 인프라에 golang을 gateway로 이용하려고 합니다.
응답이 오면 뒷단의 MSA에서 응답을 받아서 다시 패스하는걸로
그럼과 동시에 docker-compose하여서 사용하는 방식으로 하여 보겠습니다.
1. go server 구동
go-server 띄우는 방식은 제 이전글에서 보시면 됩니다.
2020/03/31 - [Language/Go] - Golang으로 아주 간단하게 HTTP 서버 만들기
Golang으로 아주 간단하게 HTTP 서버 만들기
Go를 이용하여 아주 간단하게 루트(/)를 요청하면 응답이 갈 수 하는 코드 입니다. go-wrapper를 이용하여 구동만 시켜 주면 바로 서버가 됩니다. 1. HandleFunc 이용하기 package main import ( "net/http" ) fun..
mrgamza.tistory.com
2. Dockerfile 만들기
FROM golang:1.8
WORKDIR /go/src/app
COPY main.go main.go
RUN go-wrapper download
RUN go-wrapper install
EXPOSE 5000
CMD ["go-wrapper", "run", "app"]
3. reverse proxy nginx server
upstream app {
server web:5000;
}
server{
listen 80;
access_log /var/log/nginx/access-portus.log;
error_log /var/log/nginx/error-portus.log;
location / {
proxy_pass http://app;
}
}
web이라고 이름을 주고 만들었는데 저의 경우에는 저렇게 하면 저 서버를 찾지 못해서 정상적으로 구동이 되지 않았습니다.
그래서 저는 수기로 ip를 지정하여 주었습니다. 192.168.9.1 이런식으로...
4. docker-compose.yml 파일 만들기
version: '3'
services:
web:
build: .
nginx:
image: nginx:latest
links:
- web:web
volumes:
- ./default.conf:/etc/nginx/conf.d/default.conf
command: ['nginx', '-g', 'daemon off;']
ports:
- 80:80
설명을 드리면 web은 build를 하여주게 되는것이고, nginx는 latest버전을 사용하면서 volumes를 같이 사용하도록 되어있습니다.
위에 보면 links에 web을 지정하여 두었는데 잘 안되서... 혹시나 수정되면 바로 수정해둘게요
5. docker-compose 하기
$ sudo docker-comose up
이렇게 하면 docker가 구동이 되고 화면에 로그가 나오게 됩니다. 백그라운드로 구동하고 싶다면 다음과 같이 하세요
$ sudo docker-compose up -d
잘 돌고 있는지 확인 하는것은 다음과 같습니다.
$ sudo docker ps -a
6. test
$ curl localhost:80
Hello World
'Backend > Docker' 카테고리의 다른 글
docker container commit 하고 push 하기 (0) | 2020.04.01 |
---|---|
docker hub에 개인 저장소 생성하기. Push 아닙니다! (0) | 2020.04.01 |
docker-compose 사용하기 (0) | 2020.03.29 |
Docker를 이용하여 gitlab을 사용하여 봅시다. (0) | 2020.03.29 |
CentOS에서 systemctl을 이용하여 부팅시에 자동으로 컨테이너 실행하기 (0) | 2020.03.29 |
- Total
- Today
- Yesterday
- git
- intellij
- nodejs
- windows10
- Java
- github
- Linux
- Windows
- ios
- go
- ubuntu
- centos8
- Spring
- Gradle
- MySQL
- rxswift
- war
- SWIFT
- CentOS
- Xcode
- golang
- Kotlin
- android
- docker
- php
- cocoapods
- Python
- enum
- Codable
- tomcat
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |