Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- c3 초
- 백준
- 정규식 컴파일
- semanage
- c++ 정규식
- 정규식 활용
- c3 step graph
- 정규식 문자열 출력
- InfluxDB
- snmp
- telegraf
- linux시간으로 변경
- gcc 업데이트
- python os
- snmp test
- c3 second
- 1697
- CentOS7
- grafana dashboard
- selinux port 등록
- c3 축 가리기
- c3 축 없애기
- subporcess path
- regex_search
- influxdb 설치
- centos pyhon 설치
- gcc regex
- g++ 업데이트
- python popen
- python subprocess
Archives
- Today
- Total
리셋 되지 말자
[docker-compose] Spring boot + Nginx + MySQL 본문
프로젝트 github 주소
(github.com/joont92/docker-study/tree/master/step02)
이분의 step02를 docker-compose.yml 파일 빼고 똑같이 사용했다.
수정한 docker-compose.yml 파일 내용은 아래와 같다
- docker-compose.yml
version: "3"
services:
test_web:
image: nginx
ports:
- 80:80
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d
depends_on:
- test_application
test_database:
image: mysql:5.7
environment:
MYSQL_DATABASE: test_db
MYSQL_ROOT_PASSWORD: root
MYSQL_ROOT_HOST: '%'
#ports:
#- "3306:3306"
expose:
- 3306
volumes:
- test_volume:/var/lib/mysql
test_application:
build: .
expose:
- 8080
depends_on:
- test_database
volumes:
test_volume: {}
주석 처리한 부분(ports)과 그 밑에 추가한 expose가 다른 부분이고, 나머지는 똑같다.
디렉토리 구조
$ ls
Dockerfile docker-compose.yml nginx test-application
이 상태에서 docker-compose up --build
명령어로 시작한다.
사용하기
- 컨테이너 실행 확인
위와같은 로고가 표시될 때까지 기다려야 한다. 인내심을 갖도록 하자.
위 그림에는 현재 값을 추가한 상태라서 저렇게 보이는데, 처음 접속하면 '[]'만 표신된다. localhost/users로 get 요청을 보내면 위처럼 id, name, age가 보이게 된다.
값을 추가하려면 localhost/users에 post로 정보를 전송해야 한다.
- python을 활용한 post 요청 보내기
import requests, json
URL = 'http://localhost/users/'
# get 요청 정송
response = requests.get(URL)
print(response.status_code)
print(response.text)
# json 데이터 전송을 위한 헤더 정의
headers = {'Content-Type': 'application/json; charset=utf-8'}
# 보낼 데이터 정의
data = {'name' : 'aaa', 'age' : '30'}
# post 요청 전송
res = requests.post(URL, headers=headers, data=json.dumps(data))
print(res.status_code)
결과
200
[{"id":1,"name":"null","age":27},{"id":2,"name":"???","age":25}]
201
get 요청으로 받은 현재 목록은 위와 같고, post 요청의 결과를 확인하면 201 코드가 반환된다.
- localhost/users/ 접속해서 post 요청 결과 확인
post 요청에 사용한 data인 {'name' : 'aaa', 'age' : '30'} 가 id의 값이 3인 상태로 추가된 모습이다. 성공이다.
서비스 종료시에는 docker-compose.yml 디렉토리를 다른 프롬프트창으로 열고
docker-compose down -v
끝!
'Docker' 카테고리의 다른 글
[docker] 컨테이너, 이미지, 리소스 파기 - prune (0) | 2021.03.24 |
---|---|
[docker] 컨테이너 목록 필터링 (0) | 2021.03.24 |
tensorflow 사용해보기 - deprecated (0) | 2021.03.03 |
[docker compose] docker-compose.yml에 volumes 사용하기 (0) | 2021.03.03 |
[docker] docker-compose 설치 on Ubuntu (0) | 2021.02.23 |
Comments