본문 바로가기
개발/Docker

docker, docker-compose

by meanjung 2021. 8. 12.

docker lifecycle

도커 이해하기 > https://www.notion.so/b67ed727aea4467cbc3226bb0c8e8336

 

대충 정리하면

docker의 registry에 image들이 저장되어있다. 

우리는 docker pull 로 그 image를 가져올 수 있고,

가져온 그 image를 create로 container로 변환할 수 있다.

또 그 container를 start 하여 memory에 올려 실행할 수 있다.

여기서, pull, create, start를 한번에 run으로 처리할 수 있다.


image vs container

https://hoon93.tistory.com/48

 

상세하게 쓰려면 쓸 말은 많지만 간단하게 정리하면

containerimage를 실행한 상태로, 프로세스를 격리된 공간에서 실행한 상태이다.

 

docker pull ~~

docker ps pull받은 image 안 보인다. container로 올려야 보인다.

docker images 명령어를 통해 확인할 수 있다.


명령어 docker ps

가동중인 container만 출력한다.

 

- 옵션 a

가동중 or 멈춘 container 모두 출력한다.


docker-compose

- 설치 방법 및 개념 참고

https://hongd99.tistory.com/108

 

 

- docker-compose up -d(백그라운드 실행)

up : 컨테이너 생성 및 실행. image build 설정은 docker-compose.yml에서 할 수 있다.

 

- docker-compose down

stop & remove 동시에

+

+

만약, docker-compose up 하고 ctrl + c로 벗어나면 exit 상태 (stop만)

 

- docker-compose.yml의 image와 build

출처 : https://darrengwon.tistory.com/793

 

이건 개인적으로 내가 헷갈렸던 것인데, 

docker-compose up을 하면 컨테이너를 생성 및 실행한다고 했다.

그런데, docker lifecycle보면 image를 먼저 pull 해와서 container로 create 해야하는 것이다.

 

 

그렇다면, docker-compose에서 up하기 전에 이미지는 어떻게 pull 해오는가?

☞ 이에 대해 내가 찾은 답변은,

이렇게 Dockerfile로 이미지를 자체 빌드하는 경우에는 docker-compose.yml > service > build 로 작성하고,

 

 

원격(registry)에 있는 이미지를 pull 받아 사용할 거면 docker-compose.yml > service > image로 작성한다. +++"이미지가 없으면 자동으로 pull하기 때문에 로컬에 수동으로 로컬에 설치할 필요가 없다."

 

 

 


* 나중에 다시 찾아볼 지식들

1. Dockerfile 작성법

2. docker-compose.yml 작성법

3. docker-network 개념

'개발 > Docker' 카테고리의 다른 글

docker save, load  (0) 2021.11.17
docker image build & docker-compose up  (0) 2021.10.15
가상화방식의 역사(docker의 등장까지)  (0) 2021.08.12
docker-compose 개념 및 참고자료  (0) 2021.08.08
Docker lifecycle  (0) 2021.01.21

댓글