본문 바로가기

Server/Docker

Dockerfile 만드는 법

반응형

## Dockerfile은 반드시 이름이 "Dockerfile"이어야 합니다.


아래의 내용을 보면 알겠지만, 그냥 FROM으로 이미지 고르고, MAINTAINER 설정해주고, RUN으로 이미지에서 실행시킬 명령어 넣어주면 됩니다. 참 쉽죠?




---- 여기부터 ----


# SSH Daemon Service

# Images를 선택

FROM     ubuntu:16.04

 

MAINTAINER CSG Y. J. KIM <kimyoungjin06@gmail.com>

 

# 기존 미러 서버를 한국 서버로 변경

RUN sed -i 's/archive.ubuntu.com/ftp.neowiz.com/g' /etc/apt/sources.list

 

# 최신버전으로 업데이트 후 SSH 및 필요 패키지 설치 

RUN apt-get update ; apt-get install -y openssh-server aptitude net-tools curl 


# SSH 관련 설정

RUN mkdir /var/run/sshd

RUN sed  -i "/^[^#]*UsePAM/ s/.*/#&/"  /etc/ssh/sshd_config

RUN echo "UsePAM no" >> /etc/ssh/sshd_config

 

# Root 비밀번호 설정

RUN echo 'root:12345678' |chpasswd

 

# APM 관련 설치

# RUN apt-get install -y apache2 libapache2-mod-php mysql-server mysql-client php7.0-mysql php7.0-curl php7.0-gd php7.0-intl php-pear php-imagick php7.0-imap php7.0-mcrypt php-memcache  php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-mbstring php-gettext ; apt-get install -n phpmyadmin


# SSH 포트 설정

# HostOS의 랜덤포트 -> Container 22번 포트를 바라보게 합니다.

# 즉, 외부에서 HostOS의 랜덤 포트로 접속하면 해당 Container에 접속 할수 있습니다.

# 더 자세한건 http://docs.docker.io/reference/builder/#expose 를 참고 하세요.

EXPOSE 22

 

# SSH 실행

CMD    /usr/sbin/sshd -D



반응형