본문 바로가기
Docker

[Docker] Docker 컨테이너 생성 - 예제 정답

by NJ94 2024. 2. 15.

1. dockerfile 작성

$ vim dockerfile


FROM debian:latest
COPY webpage.sh /
RUN apt-get update\
        && apt-get install -y fortune
RUN ["chmod", "go+x", "webpage.sh"]
CMD ["./webpage.sh"]

 

  • FROM debian:latest
    • 이 이미지는 최신 버전의 Debian Linux
  • COPY webpage.sh /
    • 현재 디렉토리에 있는 webpage.sh 스크립트를 컨테이너의 루트 디렉토리로 복사
  • RUN apt-get update \
    • 패키지 관리자 업데이트
  • && apt-get install -y fortune
    • fortune 패키지를 설치
  • RUN ["chmod", "go+x", "webpage.sh"]
    • webpage.sh 스크립트에 실행 권한을 부여
  • CMD ["./webpage.sh"]
    • 컨테이너가 시작될 때 실행되는 기본 명령어를 정의

 

2. webpage.sh 스크립트 작성

$ vi webpage.sh


#!/bin/bash
mkdir /htdocs
while :
do
    /usr/games/fortune > /htdocs/index.html
    sleep 10
done
  • /htdocs 디렉토리를 생성하고 10초 마다 새로운 명언 생성

 

3. 컨테이너 빌드

$ docker build -t fortune:21.02 .

 

 

4. 컨테이너 실행

$ docker run -d --name fortune fortune:21.02

 

 

5. 컨테이너 내부로 진입

$ docker exec -it fortune /bin/bash
### fortune 컨테이너에 접속하여 "/bin/bash" 셸 실행

$ cat /etc/issue
### 현재 운영체제의 정보를 출력

 

 

6. 컨테이너 내부에서 명령어 실행

$ cd htdocs
$ cat index.html

### Chicken Little was right.
### 10s
### Your love life will be happy and harmonious.
### ...

 

 

참고

https://jungmockdan.github.io/docker/infra-docker-001/#42-docker-file-%EB%A1%9C-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88-%EB%A7%8C%EB%93%A4%EA%B8%B0

 

따배도 복습- 도커

본 게시물은 유투브 강의 따배도-도커 강의를 보고 학습한 내용을 정리한 내용입니다.

jungmockdan.github.io