본문 바로가기
가상화/docker

#3 docker - 개인 이미지 제작 - 1

by gntpapa 2019. 9. 9.
 도커 공식 이미지를 이용해도 되지만 나만의 이미지를 만들어서 사용 할 수도 있습니다. 이미지를 만드는 방법은 2가지가 있습니다. 
  • docker 이미지 안에서 작업 후 봉인
  • Dockerfile을 활용해서 이미지 생성
 이미지 만들기 전 주의사항은 컨테이너에서 실행 될 프로세스는 foreground로 실행이 되어야 한다는 것 입니다. foreground 실행 된 프로세스가 종료 시에 컨테이너도 같이 종료되게 됩니다.
첫번째 방법으로 Nginx 이미지 만들어 보겠습니다. 우선 아래 명령어를 실행하여 centos 실행 합니다.
docker run -it --name centos centos bash
위와 같이 centos 접속이 되는 것을 확일 할 수 있습니다. 이 후 기존 패키지 설치 하듯이 설치를 진행하면 됩니다. 설치를 하면서 몇가지 주의 사항이 있습니다.
  • shell 화면에서 exit를 입력하면 해당 컨테이너가 종료되어 작업 했던 내용들이 사라지게 됩니다.
  • ctrl p + ctrl q 를 입력하면 컨테이너가 종료되지 않고 원래의 창으로 전환이 가능합니다.
  • 다시 컨테이너로 접속을 하려면 docker exec -it centos bash 를 입력하면 됩니다.
 
컨테이너 내 에서 다음 명령어 실행하여 Nginx를 설치합니다. daemon off 옵션을 통해 foreground로 실행될 수 있게 설정을 추가합니다.
yum install epel-release -y
yum install nginx -y
 
vi /etc/nginx/nginx.conf
 
daemon off; #foreground 실행을 위해 nginx config에 해당 옵션 추가
 
ctrl p + ctrl q
 
 docker ps 를 입력해보면 컨테이너가 아직 살아있는 것을 알 수 있습니다. 이 상태에서 아래 명령어를 입력하면 도커 이미지가 생성이 됩니다.
docker commit "컨테이너 이름" "사용할 이미지 이름”
Ex) docker commit centos gntpapa/test:0.1
 
docker images 
> 이미지 확인 명령어
 
docker run --rm -d -p 80:80  gntpapa/test:0.1
> 실행
 
 
 

'가상화 > docker' 카테고리의 다른 글

#6 docker - Private 이미지 저장소  (0) 2019.11.25
#5 docker - Public repository 1  (0) 2019.10.07
#4 docker - 개인 이미지 만들기 -2  (0) 2019.09.09
#2 docker - 컨테이너 hello world (nginx 실행)  (0) 2019.08.27
#1 docker 설치  (0) 2018.08.19