$ docker run --name webserver -d -p 80:80 nginx
services:
my-web-server:
container_name: webserever
image: nginx
ports:
- 80:80
$ docker compose up -d
$ docker compose ps
$ docker ps
$ docker compose down
$ docker run -e MYSQL_ROOT_PASSWORD=pwd123 -p 3306:3306 -v /User/docker/docker-mysql:/var/lib/mysql -d mysql
1. compose 파일 작성
service:
my-db:
image: mysql
enviroment:
MYSQL_ROOT_PASSWORD: pwd123
volumnes:
- ./mysql_data:/var/lib/mysql
ports:
- 3306:3306
2. compose 파일 실행
$ docker compose up -d
3. compose 실행 현황
$ docker compose ps
$ docker ps
4. 잘 작동하는 지 DBeaver 연결 확인
5. volumne의 경로에 데이터 저장되고 있는지 확인
6. compose로 실행된 컨테이너 삭제
$ docker compose down
1. 프로젝트 셋팅
Java17 버전을 기준으로 진행
2. 간단한 코드 작성
@RestController
public class AppController {
@GetMapping("/")
public String home() {
return "Hello, World!";
}
}
3. Dockerfile 작성
FROM openjdk:17-jdk
COPY build/lib/*SNAPSHOT.jar /app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
bash
4. Spring Boot 프로젝트 빌드
$ ./gradlew clean build
5. compose 파일 작성
compose.yml
services:
my-server:
build: .
ports:
- 8080:8080
참고) Docker CLI 로 실행
$ docker build -t hello-server .
$ docker run -d -p 8080:8080 hello-server
6. compose 파일 실행시키기
$ docker compose up -d --build
7. compose 실행 현황 보기
$ docker compose ps
$ docker ps
8. localhost :8080으로 들어가보기
9. compose로 실행된 컨테이너 삭제
$ docker compose down