Home [Docker]Dockerfile 작성법
Post
Cancel

[Docker]Dockerfile 작성법

Dockerfile 작성법

종류

명령어설명비고
FROM기본 이미지어떤 이미지에서 시작할 지 지정
MAINTAINER이미지를 생성한 개발자의 정보1.13.0 이후 사용 X
RUN이미지를 생성할 때 실행할 명령어RUN 명령을 수행할 때마다 레이어 생성 및 캐싱
WORKDIR작업 디렉토리 지정 
EXPOSE개방할 포트 지정 
USER사용자 지정default: root
COPY/ADDbuild 중 호스트의 파일 또는 폴더를 이미지에 저장ADD는 일반 파일 뿐만 아니라, 압축 파일이나 네트워크 상의 파일도 허용
ENV이미지에서 사용할 환경 변수 값을 지정 
CMD컨테이너를 생성할 때의 명령어ex. docker run
ENTRYPOINT컨테이너를 실행할 때의 명령어ex. docker start

예시

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# CUDA 11.8, Ubuntu 22.04 이미지 생성
FROM nvidia/cuda:11.8.0-base-ubuntu22.04

# 상호작용 제거
ARG DEBIAN_FRONTEND=noninteractive

# apt 패키지 업데이트 및 설치
RUN apt update && apt install  openssh-server python3-pip sudo libgl1-mesa-glx nvidia-cuda-toolkit -y

# 사용자 이름: ID, 비밀번호: password 인 사용자 생성
RUN useradd -rm -d /home/ubuntu -s /bin/bash -g root -G sudo -u 1000 dacon
RUN  echo 'ID:password' | chpasswd

# ssh 실행
RUN service ssh start

# ssh 접근을 위한 22번 포트 허용
EXPOSE 22

# ssh 실행
CMD ["/usr/sbin/sshd","-D"]
This post is licensed under CC BY 4.0 by the author.