본문 바로가기
DOCKER

[docker기초3-2.] 도커파일(Dockerfile)작성하기 -실습-

by 미눅스[멘토] 2024. 5. 29.
728x90

*TIP.

VsCode 또는 메모장 Notepad 무엇을 쓰던 상관 없지만 VsCode를 쓰면 도커용 확장 툴을 사용 가능하다. 굳이 사용 안해도됨.

 

1.마켓플레이스에서 

2.docker 검색

3.Docker 설치

4.번 탭 생성된걸 확인 후 클릭

 

5. docker contatiners와 images 등 한눈에 보기 쉽게 보여줌.

 

1. Dockerfile을 통한 웹서버 이미지 만들기

 

 

파일을 하나 생성하고 이름은 꼭 "Dockerfile"이라고 생성하고

도커파일을 작성한다.

1.도커파일은 FROM으로 시작한다.

2. FROM ubuntu:20.04  = 우분투20.04버전을 다운한다는 의

 

그리고 터미널을 열어  docker build를 쳐본다.

 

 

#docker build 사용법 확인
docker build

그럼 이런 명령어가 나오고

docker build -t web-server-build . 명령어를 실행하면

 

 

#docker build : 이미지를 생성하겠다
#-t : (tag 또는 title의 약어) tag의 이름은 web-server-build
#  .: .은 현재 디렉토리에 도커 파일이 있고 이미지를 만들때 사용할 파일들을 현재 디렉토리에
#     위치시킬 것이기 때문에 .을 사용한다.
docker build -t web-server-build .

우분투 기반 web-server-build이미지가

이렇게 이미지가 설치가 잘 된것을 볼 수 있다.

그럼 기존 ubuntu 컨테이너에 접속을 해본다. 

 

 

 

접속하는 방법은 매우 간단하다. 

docker exec 명령을 이용하면 된다.  docker exec 는 container에 특정 명령을 실행할 수 있는 것인데 이때 명령을 /bin/bash 라고 하면 된다. 

 

우리가 "접속" 하고 싶다는 의미는 해당 container 의 shell 에 접속하겠다는 의미이다. 

주의해야할 것은 docker exec 명령을 할때 옵션으로 -it 라고 덧붙여 주어야 한다. 이는 STDIN 표준 입출력을 열고 가상 tty (pseudo-TTY) 를 통해 접속하겠다는 의미이다. 

 

docker ps명령어로 실행중인 STATUS값을 확인하고 Up인것으로 보니 뭔가 실행중인가 보다. 그럼 접속 명령어를 통해 접속한다.

#도커 컨테이너 접속명령어
docker exec -it web-server /bin/bash

 

 

 

도커파일에는 아래와같이 많은 명령어를 통해 이미지를 조작하고

실행시키고 다운받을 수 있는데 간단한것만 알아보자

 

FROM :  다운받을 이미지 

RUN : 이미지에 실행시킬 명령어

WORKDIR : 이미지안에 경로 및 파일생성

CMD : 컨테이너가 실행되고 실행시킬 명령어

COPY : 파일을 복사한다.

위에서 부터 차례대로 수행함.

대충 이런식으로 사용하고

index.html을 생성

 

도커파일 수정

이것을 한번 docker build 시켜보면.

docker build -t my-web-server .

 

 

 

#docker run : 이미지 실행
#--name : 이름을 test123으로 짓겠다
#-p     : 도커 호스트 포트80을 : httpd80포트와 연결시켜주겠다.
#-d     : 데몬 (백그라운드 실행)
#test123: 실행할 이미지 이름
docker run --name test123 -p 80:80 -d test123

잘 it. works 가 안뜨고

카피된 Hello.Doker!!가 잘 뜨는것을 확인

끝!