일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- /
- 도커 #Docker #배포 #Spring #MySQL #백엔드배포
- 도커 #docker #docker-compose.yml #도커컴포즈 #배포 #spring #mysql #docker-compose
- Today
- Total
목록DevOps/Docker (9)
개발자 데뷔!
아래 두 서비스를, 서버 ip상 docker 컨테이너로 올려 실행해야 한다. * 데이터베이스 : MySQL * 백엔드 : SpringBoot 위 두 백엔드-데이터베이스 포트를 연결하는데 문제가 많이 발생했다. 기존에 잘 연결되던 서비스가, 도커 컴포즈화 하는 과정을 거쳐 잘 안되기도 했다. 트러블 슈팅 목적으로 확인할 수 있는 것들을 정리해봤다. 도커 트러블 슈팅 도커 컨테이너 로그 확인 docker logs {컨테이너 이름} 포트 접근 권한 확인 sudo ufo status 방화벽 설정 규칙 확인 sudo iptables -L 아래처럼 DROP인 경우, 권한이 없어 요청을 DROP 한다. (에러의 원인이 될 수 있음) 도커 체인 확인 (환장한다…) iptables -t nat -L -n 열려있는 포트 ..
도커 컴포즈 파일은, 서버 상에서 필요한 모든 도커 컨테이너를 실행시키는 명령어를 묶어서 한번에 실행시킬 수 있도록 만든, 스크립트 파일의 역할을 한다. 터미널 명령어를 어떻게 Docker Compose 파일로 정리할지 알아보자. 실행시켜야 할 도커 컨테이너는 아래 두개이다. 데이터베이스 (MySQL) 백엔드 (SpringBoot) 위 두 컨테이너를 실행시키기 위해, 나는 서버 터미널에서 아래 두 명령어를 실행하고, 잘 동작함을 확인했었다. # DataBase 컨테이너 실행 docker run -d --name {실행할 이미지이름}:{태그버전} -e MYSQL_ROOT_PASSWORD={DB접속 비밀번호} -e MYSQL_DATABASE={DB명} -p 3306:3306 {실행될 컨테이너이름}:{태그버전..
배포를 위해 아래 두 서비스를 도커 컨테이너로 올려야 한다. * 백엔드 : SpringBoot * DB : MySQL 배포를 위한 서버를 할당 받았다고 가정, (AWS ec2 등) 현재 ssh로 위 배포 서버에 접속한 상태다. DataBase 도커 업로드 1. 도커 이미지를 올리기 도커 허브의 공식 mysql 이미지를 다운받는 방법이다. (기존 로컬에서 잘 작동하던 mysql 을 그대로 쓰고 싶다면, docker 파일을 통해 이미지화 하고, 이를 도커허브에 업로드해 서버로 다시 내려받는 방법도 있다. => 백엔드 설명) docker pull mysql:{mysql버전} #docker pull mysql:8.0.33 2. 필요 데이터 생성 나는 서비스에서 jpa 사용 + ddl-auto =update ..
도커 관련 기본 명령어를 정리해보자 도커 배포하며 가장 자주 쓴 명령어를 모아 정리했다. 도커 이미지 관련 명령어 docker images # 도커 이미지 확인 docker rmi -f {이미지id} # 도커 이미지 삭제 도커 컨테이너 관련 명령어 docker ps# 실행중인 도커 컨테이너 확인 docker ps -a# 모든 도커 컨테이너 확인 docker stop {컨테이너 이름}# 컨테이너 중단 docker container rm {컨테이너 이름}# 컨테이너 삭제 docker container prune# 도커 컨테이너 다 삭제 docker restart {컨테이너 이름}# 컨테이너 재시작 도커 네트워크 관련 명령어 docker network ls# 도커 네트워크 목록 확인 docker network..
Docker 공식 reference) https://docs.docker.com/engine/reference/commandline/container/ Docker File -> (build) -> Docker Image -> (run) -> Docker Container Container 생성 Container 실행 Container 상태 확인 Container 정지 Container 재시작 Container 삭제 컨테이너 명령어 모음 docker container run --name [컨테이너명 지정] -d [기반 이미지명] {컨테이너가 실행되었을 때 실행할 커맨드} //docker container run --name ping_test -d centos /bin/ping localhost docke..
https://hub.docker.com/ - 도커 이미지 중, 자주 사용하는 이미지들은 별도의 공식 저장소에 저장해서 사용한다. - 자주 사용하는 sw 도구를 해당 기업에서 official 이미지로 만들어 docker hub에 제공 * 누구나 이미지를 올릴 수 있기 때문에 인증된 이미지만 사용 * tags에서 버전 확인 가능 이미지 다운로드 docker image [sub-command] command 목록 아래 명령어를 입력하면, [sub-command]위치에 올 수 있는 커맨드 목록이 쭉 출력된다 docker image commands 내용 build Build an image from a Dockerfile history Show the history of an image import Import..
docker container run -d --name redis_db -p 6379:6379 redis redis는 기본적으로 6379 포트번호 사용함 Redis 데이터 저장 후 조회하기 telnet localhost {포트번호}// {포트번호}와 연결된 컨테이너로 접속 set {key값} {value값}// {key}-{value}값 저장 get {key값}// {key}값 조회 quit// db컨테이너에서 빠져나옴 ex) telnet localhost 6379// 6379 포트와 연결된 redis 컨테이너 내부 접속 set mykey a1234// {key}-{value}값이 {mykey}-{a1234}인 데이터 저장 get mykey// {key}값이 mykey인 {value}값 출력 quit//..
Nginx 웹서버 실행 예시) docker container run -d --name nginx_webserver -p 8080:80 nginx * cosway : -linux에서 ASCII그림을 그려주는 명령어 옵션) 옵션 역할 예시 --name 컨테이너 생성과 동시에 이름 지정 -p [{host port} : {container port}] 포트 지정 및 연결 (host port와 container port를 mapping 함 ) -p 8080:80 동작) - nginx라는 이름의 이미지파일 실행 nginx 라는 이름의 이미지 파일 찾음 로컬에서 nginx 이미지 검색 없으므로, 공식 저장소에서 nginx 이미지 검색 후 다운로드 다운로드 받은 이미지를 백그라운드로 컨테이너 실행 포트 연결 {host..