본문 바로가기

System/Linux

Linux/Virtual Environment/Docker/Dockerfile 사용하기

반응형
# Dockerfile

  • 특정한 이미지을 시작점으로 잡고 이미지 구성에 필요한, 즉 수동으로 명령어를 입력하고 commit을 해야하는 수작업 과정을 줄이기 위해 일련의 명령어들을 저장해 놓은 파일을 말함.
  • 예시) 모니 위키
  • 1
    cs
  • Dockerfile
  • 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
    32
    33
    FROM ubuntu:12.04
    MAINTAINER Daekwon Kim <propellerheaven@gmail.com>
     
    # Run upgrades
    RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.list
    RUN apt-get update
     
    # Install basic packages
    RUN apt-get -qq -y install git curl build-essential
     
    # Install apache2
    RUN apt-get -qq -y install apache2
    ENV APACHE_RUN_USER www-data
    ENV APACHE_RUN_GROUP www-data
    ENV APACHE_LOG_DIR /var/log/apache2
    RUN a2enmod rewrite
     
    # Install php
    RUN apt-get -qq -y install php5
    RUN apt-get -qq -y install libapache2-mod-php5
     
    # Install Moniwiki
    RUN apt-get install rcs
    RUN tar xf /tmp/moniwiki-1.2.1.tgz
    RUN mv moniwiki /var/www/
    RUN chown -R www-data:www-data /var/www/moniwiki
    RUN chmod 777 /var/www/moniwiki/data/ /var/www/moniwiki/
    RUN chmod +x /var/www/moniwiki/secure.sh
    RUN ./var/www/moniwiki/secure.sh
     
    EXPOSE 80
    CMD ["/usr/sbin/apache2", "-D", "FOREGROUND"]
    cs
  • 코드 설명

    • FROM : 특정 시작점 이미지를 지정
    • RUN : 실행할 쉘 명령어 
    • ENV : 환경 변수 지정
    • EXPOSE : 오픈 포트 지정
    • CMD : 컨테이너를 생성할 떄 실행될 명령어 지정
  • Dockerfile 빌드
    • docker build -t [이미지 이름]:[태그명] [경로]


반응형