docker-compose.yaml 알아보기 에서 생성된 docker-compose.yaml 과 web 서비스의 image 를 서비스할 서버에 릴리스 하는 법을 살펴 보자.
docker를 사용하는 장점이라하면 모듈화, 소스 숨김등이 있겠지만 뭐니뭐니해도 서비스할 서버에 동작환경을 만들지 않아도 된다는 가장 큰 장점이 있다. 단순히 서버에 docker 만 인스톨하면 귀찮은 설치 작업은 필요가 없게 된다.
일단 docker를 옮기는 제일 좋은 방법은 https://hub.docker.com 의 유료회원( private image 들을 무제한 업로드 가능 ) 이라면 개발PC에서 push 하여 서비스 서버에서 pull 하여 인스톨 하는 것이다.
그냥 돈을 쓰지 않는 방법에 대해 알아보자.
1. 개발 PC
Dockerfile 설정의 image 를 docker-compose build 명령으로 개발PC 에 생성한다.
현 단계에서는 redis 서버 어플리케이션과 같은 이미 dockerhub 에 등록되어 있는 image 는 build 로 생성되지는 않는다.
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE yaho/web 1.0 d3e7f2099862 7 seconds ago 62.6MB |
yaho/web 명의 이미지를 tar 압축 형식 화일로 저장 한다.
$ docker save -o yaho_web_image.tar yaho/web |
docker-compose.yaml 화일을 릴리스용으로 수정한다.
※ build 관련 부분만 삭제
※ volumens 부분에 호스트 PC의 폴더 패스에 주의.
만약 container에서 액세스할 중요한 화일들이 있다면 그것들도 같이 서버에 똑같은 폴더 패스에 릴리스하여야 함.
services:
redis:
image: redis:latest
ports:
- '6379:6379'
web: image: yaho/web:1.0
ports:
- "8000:8000"
restart: always
volumes:
- .:/code
depends_on:
- redis
|
2. 릴리스 서버 (준비물: 릴리스용 docker-compose.yaml, yaho_web_image.tar)
개발PC에서 생성한 tar 이미지를 복원시킨다.
서비스의 container 들 개시
※ redis 이미지를 로컬에 다운로드 한 후에 웹서비스가 실행된다.
$ docker load -i yaho_web_image.tar |
$ docker-compose up |
'Commands > docker' 카테고리의 다른 글
docker / docker-compose.yml 최종 정리 (0) | 2023.12.14 |
---|---|
docker-compose.yaml 알아보기 (0) | 2023.12.09 |
Dockerfile 알아보기 (0) | 2023.12.07 |
docker-compose 명령어 (1) | 2023.12.07 |
(docker) 기본 사용 명령 (0) | 2023.08.11 |