본문 바로가기
Cloud/docker

[Docker] Dockerfile 이미지 생성/빌드/컨테이너 실행예제

by 아크투어 2023. 4. 26.
반응형

Dockerfile
Dockerfile

★. Dockerfile

  • Dockerfile은 Docker 이미지를 빌드하는 방법을 정의하는 스크립트입니다.
  • Docker 이미지는 소프트웨어 애플리케이션을 실행하기 위한 격리된 환경인 컨테이너를 만들고 실행하는 데 사용됩니다.
  • Dockerfile이 생성되면 docker build명령을 실행하여 Docker 이미지를 빌드하는 데 사용할 수 있습니다.

 

★. Dockerfile 구조

  • "FROM" =  일반적으로 사용할 기본 이미지를 지정하는 명령어 (ubuntu 또는 centos 등)
  • "RUN" = 컨테이너 내에서 명령을 실행하는 데 사용됩니다. 이러한 명령은 이미지 빌드 프로세스 중에 실행되며 종속성을 설치하거나 환경을 구성하거나 애플리케이션 실행에 필요한 기타 작업을 수행하는 데 사용할 수 있습니다.
  • "CMD" = 컨테이너가 시작될 때 실행할 기본 명령을 지정하는 데 사용됩니다. 컨테이너를 시작할 때 다른 명령을 전달하여 이 명령을 재정의할 수 있습니다.

 

★. Dockerfile 실행순서

  • 도커파일 ☞ 도커클라이언트 도커서버 이미지

 

1. Dockerfile 파일생성

  • ubuntu22.04 버전으로 hello를 콘솔에 표현해본다.
  • 아래내용으로 Dockerfile을 생성한다.
  • FROM의경우 <이미지>:<태그> 형식으로 작성한다. 아래처럼 22.04 버전이라고 명시하지 않으면 최신버전이 설치된다.
FROM ubuntu:22.04

RUN apt update

CMD ["echo","hello"]

 

2. Dockerfile build하기

  • Dockerfile이 있는 경로에서 build 명령어를 실행한다.
  • 만약 빌드가 되지 않는다면 apt-get udpate / apt-get upgrade를 수동으로 실행하고 빌드하길 바란다.
$ docker build --tag hellosystem .

docker build 명령어
docker build

 

3. Dockerfile run하기

  • build 이후 run명령어로 실행한다.
  • hello 라고 콘솔화면에 실행된다.
# 일반적인 run 방법
$ docker run hellosystem

# rm명령어 사용으로 실행이후 바로 종료
$ docker run --rm hellosystem

docker run 명령어
docker run

 

4. 테스트 했던 환경 삭제하기

  • docker system prune 명령어 입력시 아래처럼 깔끔하게 삭제된다.

docker 시스템 삭제
docker 시스템 삭제

 

docker에서 컨테이너 확인및 삭제관련 명령어

# 모든 컨테이너 확인
$ docker ps -a

# 실행중인 컨테이너 확인
$ docker ps -qa

# 처리중인 프로세스 까지 완료하고 컨테이너를 중지시킨다.
$ docker stop 컨테이너아이디

# 바로 컨테이너를 중지시킨다
$ docker kill 컨테이너아이디

# 컨테이너 삭제
$ docker rm 컨테이너아이디

# 모든 컨테이너 삭제
$ docker rm -f $(docker ps -qa)

# 한번에 컨테이너,이미지,네트워크 모두 삭제
$ docker system prune
 

 

 

반응형