티스토리 뷰

728x90

컨테이너를 다뤄봤으니, 다른 호스트에 같은 환경을 마추기 위한 작업으로 이미지를 만들어 볼것이다

지금까지는 공식적으로 배포해준 아파치(httpd)이미지를 대부분 예제로 사용했는데, 손쉽게 docker 명령어 몇줄로 아파치 환경을 구축할 수 있었던 것처럼, 이제 내가 만든 컨테이너를 이미지로 만들어 단 몇줄의 명령어로 손쉽게 환경을 구축할 수 있도록 한다.

 

commit 명령어와 dockerfile을 통해 이미지를 만들 수 있는데 두가지 다 살펴보도록 하자.

 

이번에도 아파치(httpd)을 사용하겠지만, index.html를 수정한 후 이미지를 만들어 해당 이미지로 컨테이너를 만들면 초기 화면이 다르게 나오는 것을 보고자 한다.

 

이렇게 index.html를 변경하여 초기 화면이 다르게 나오는 것을 확인해보자.

잘 변경이 되었고, 이제 이 문구가 초기 화면으로 나오는 이미지를 생성해보자!!

 

1. commit을 이용한 이미지 만들기

docker commit [컨테이너명] [이미지명] 으로 이미지를 만들 수 있다.

이처럼 commit 명령어를 통해 change_apatche 이미지가 생성 된 것을 볼 수 있다!

그럼 이제 이 이미지를 가지고 컨테이너를 한번 생성해보자.

 

이처럼 생성했으니.. 8081 포트로 들어가 확인해보자!

commit으로 생성한 이미지로 컨테이너를 만드니.. 그상태 그대로 보여주는 걸 확인할 수 있다.

이렇듯, 이미지를 만들어 협업을 진행하거나, 서버를 구축하게 된다면.. 버전을 맞춰줘야 하는 번거로움에서 벗어날 수 있고, 손쉽게 모든 환경을 똑같이 구축 할 수 있다는 장점이 있다.

 

2. dockerfile 로 이미지 만들기

dockerfile로 이미지를 만드는 것은 commit으로 하는 것과는 조금 다르게 진행된다. 일단, 재료가 될 폴더에 이와 같이 만들어준다.

Dockerfile 과 컨테이너로 옮길 index.html을 만들어 주고, Dockerfile 에는 밑에와 같이 작성해준다.

FROM은 어떤 이미지를 생성 할것인가, COPY는 해당 파일을 해당 폴더에 복사하라는 뜻이다.

 

그 후 build 커맨드를 이용하여 이미지를 빌드할 수 있다고 한다.

docker build -t [만들 이미지명] [재료 폴더 위치] 로 이미지를 생성할 수 있다.

여기서는 dockerfile_image_test 라는 이름으로 이미지를 만들었고, 이미지 목록을 봐보면..

잘 생성된 것을 볼 수 있었다.

그럼 이 이미지를 토대로 한번 컨테이너를 생성해보자.

새로 만든 이미지를 가지고 컨테이너를 생성해줬다. 그럼 포트 8092로 들어가보면..

index.html에 작성된 문장 그대로 초기화면이 설정 된 것을 볼 수 있었다..!

 

이처럼 두가지를 이용해 이미지를 생성할 수 있었다...!

dockerfile 보단... commit이 훨씬 간단하고 편한 것 같긴하지만.. Dockerfile과 commit 2가지 모두 존재하는 이유가 있을 것이다.

아직 잘 모르겠다.. 밑에 블로그를 참고해 보길..

https://jinjinyang.tistory.com/m/48

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
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
글 보관함