docker-compose를 이용해서, 자동적으로 컨테이너를 실행하듯, Dockerfile을 이용해서 image를 자동적으로 생성할 수 있습니다.
image는 기본 베이스가 있고, 여러가지 환경을 추가할 수 있습니다.
예를 들어서, ubuntu가 기본 os 환경에 git을 설치하고 싶은 경우에는 ??
ubuntu 컨테이너 생성 / 실행
docker run -it ubuntu bash
git 확인
# git
그러면, 위와같이 commend not found 메세지가 출력됩니다.
그 이유는 아직 ubuntu 환경에 git이 설치되어있지 않기 때문입니다.
git 설치
# apt-get update
# apt-get install -y git
apt-get은 리눅스 환경에서 패키지 설치를 하기위한 매니저입니다.
다시 git 확인
# git
image 생성
docker commit [옵션] <컨테이너이름> <image이름:태크>
방금 ubuntu 환경에서 git을 설치한 컨테이너를 commit을 이용해서 image로 만듭니다.
image 확인
docker images
ubuntu:git 이라는 새로운 image가 만들어진 것을 볼 수 있습니다.
그러면, 이 image를 기반으로 다시 한번 컨테이너를 실행해보겠습니다,
docker run -it ubuntu:git bash
이번에는 컨테이너를 실행하자 마자, git명령어를 입력해도 동작을 하는 것을 볼 수 있습니다.
그 이유는 위에서 git을 설치했던 컨테이너를 image로 만들어서 그것을 기반으로 실행했기 때문입니다.
이렇듯 docker는 image를 생성하고 실행함으로써 쉽게 관리할 수 있습니다.
Dockerfile을 이용해 image 생성하기
위에서 했던 작업을 이번엔 Dockerfile을 이용해서 자동화로 image를 생성해보겠습니다.
새로운 디렉토리 생성
# mkdir docker-image
# cd docker-image
Dockerfile
FROM ubuntu:latest
RUN apt-get update
RUN apt-get install -y git
현재 디렉토리 위치에 위의 파일을 새로 생성합니다.
FROM ubuntu:latest : ubuntu:latest 이미지를 기반으로 실행
RUN apt-get update : 명렁어 apt-get update 실행
RUN apt-get install -y git : 명령어 apt-get install -y git 실행
docker build -t 리파지토리:태그 .
docker build 명령어를 실행하면, 자동적으로 Dockerfile 파일을 찾아서 실행합니다.
-t : 옵션은 새로 생성할 이미지 이름을 지정
. : Dockerfile의 위치를 경로를 지정
( --file(또는 -f) 옵션을 사용해서 파일 이름을 지정할 수 있습니다. )
docker images 명령어를 통해 확인해보면, 위와같이 새로 image가 생성된 것을 확인할 수 있습니다.
이렇듯, 위에서는 수동으로 ubuntu 컨테이너를 실행시키고, git 설치하는 작업을 Dockerfile을 이용해서 자동화한 것입니다,
이 과정으로 얻을 수 있는 것은 명령어를 실행하기 위해 일일히 기다리지 않아도 자동으로 처리 시킬 수 있다는 점과
파일 형태로 저장할 수 있기 때문에, image가 어떤 과정으로, 어떤 구성으로 만들어졌는지를 확인할 수 있습니다.
'IT 공부 > Docker' 카테고리의 다른 글
[ Docker ] Linux환경에 MySQL8.0설치 및 설정 (0) | 2022.12.16 |
---|---|
[ Docker ] Dockerfile을 이용해서 Nginx 컨테이너 + image 생성 (0) | 2021.12.31 |
[ docker ] Docker compose 이용해서, WordPress 환경 구축 (0) | 2021.12.29 |
[Docker] WordPress 환경 구축하기 (2) (0) | 2021.12.28 |
[ Docker ] Image 저장소에 push 하기 (0) | 2021.12.27 |