Dockerfile을 사용하여 컨테이너에서 Mkdir 명령으로 디렉터리 생성

Isaac Tony 2023년6월20일
Dockerfile을 사용하여 컨테이너에서 Mkdir 명령으로 디렉터리 생성

Docker 컨테이너는 다양한 환경에서 소프트웨어 및 종속성을 관리하는 사실상의 방법이 되었습니다. 실제 애플리케이션으로 작업할 때 애플리케이션 컨테이너 이미지를 빌드하기 전에 Dockerfile을 생성해야 한다는 것은 의심의 여지가 없습니다.

Dockerfile을 사용하여 컨테이너에서 mkdir 명령으로 디렉토리 생성

단순히 개발자가 Docker 이미지를 만드는 데 필요한 명령을 조합하도록 허용하는 것 외에도 Dockerfile로 할 수 있는 일이 훨씬 더 많습니다. Dockerfile을 사용하여 Docker 이미지를 성공적으로 생성하려면 몇 가지 기본 명령을 알아야 합니다.

가장 많이 사용되는 명령은 다음과 같습니다.

  1. FROM - 사용될 상위 이미지/기본 이미지의 레이어를 생성합니다.
  2. WORKDIR - 작업 디렉토리를 설정할 수 있습니다.
  3. COPY - 현재 디렉터리 내용을 컨테이너의 디렉터리로 복사할 수 있습니다.
  4. PULL - Docker 리포지토리에서 파일을 추가합니다.
  5. RUN - 이미지를 빌드하려고 할 때 실행할 명령입니다.
  6. CMD - 컨테이너가 시작될 때 실행할 명령을 지정합니다.
  7. ENV - 빌드 중에 사용되는 환경 변수를 정의합니다.
  8. ENTRYPOINT - 컨테이너가 시작될 때 실행할 명령을 지정합니다.
  9. MAINTAINER - 이미지 작성자를 지정합니다.

위의 명령을 사용하여 Python을 기본 이미지로 사용하는 아래와 같은 Dockerfile을 만들 수 있습니다.

암호:

#  base image
FROM Python

# Set your working directory
WORKDIR /var/www/
# Copy the necessary files
COPY ./app.py /var/www/app.py
COPY ./requirements.txt /var/www/requirements.txt

# Install the necessary packages
RUN pip install -r /var/www/requirements.txt
# Run the app
CMD ["echo", "Hello, Developer"]

이 Dockerfile은 콘솔에 메시지만 출력하는 간단한 Flask 애플리케이션의 일부입니다. 동일한 응용 프로그램을 만드는 데 관심이 있다면 여기 requirements.txt 파일이 있습니다.

click==8.0.4
Flask==2.0.3
gunicorn==20.1.0
itsdangerous==2.1.0
Jinja2==3.0.3
MarkupSafe==2.1.0
Werkzeug==2.0.3

기본 애플리케이션 파일을 포함하는 기본 파일 app.py는 아래와 같습니다.

암호:

from flask import Flask

app = Flask(__name__)


def hello():

    print("Hello, this is a simple Flask application")


hello()

이제 Docker 컨테이너의 파일 시스템 내에 mkdir 명령으로 디렉터리를 생성하기 위해 아래와 같이 RUN 명령을 사용합니다.

#  base image
FROM Python

# Set your working directory
WORKDIR /var/www/
# Copy the necessary files
COPY ./app.py /var/www/app.py
COPY ./requirements.txt /var/www/requirements.txt

# Install the necessary packages
RUN pip install -r /var/www/requirements.txt
RUN mkdir -p /var/www/new_directory
# Run the app
CMD ["echo", "Hello, Developer"]

RUN mkdir -p /var/www/new_directory 명령을 사용하면 Docker 파일 시스템 내에 new_directory라는 디렉터리를 생성할 수 있습니다. 이 디렉토리는 결국 위의 Docker 파일을 사용하여 빌드된 이미지를 사용하여 빌드됩니다.

그러나 아래 명령을 실행하여 Python 기반 Docker 이미지를 기본 이미지로 빌드하는 것으로 시작합니다.

isaac@DESKTOP-HV44HT6:~/my-app$ docker build -t new_image .

출력:

docker 빌드 새 이미지

아래 docker images 명령을 사용하여 Docker 파일에서 Docker 이미지를 성공적으로 구축했는지 확인합니다.

$ docker images

출력:

REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
new_image    latest    7ab964c50876   13 minutes ago   932MB

이제 Docker 이미지가 준비되었으므로 Docker 컨테이너를 생성하고 new_directory라는 디렉터리가 생성되었는지 확인할 수 있습니다. 아래와 같이 Docker 컨테이너 내의 디렉터리를 탐색하려면 컨테이너 내에서 Bash를 시작해야 합니다.

$ docker run -it new_image bash
root@ea42f35d5404:/var/www#

이 디렉토리에 파일을 나열한 후 new_directory가 생성되었음을 알 수 있습니다. 이 외에도 디렉토리 자체를 탐색하고 그 안에 새 파일을 만들 수도 있습니다.

root@ea42f35d5404:/var/www# ls
app.py  new_directory  requirements.txt
root@ea42f35d5404:/var/www# cd new_directory
root@ea42f35d5404:/var/www/new_directory# ls
root@ea42f35d5404:/var/www/new_directory# touch new_file
root@ea42f35d5404:/var/www/new_directory# ls
new_file
작가: Isaac Tony
Isaac Tony avatar Isaac Tony avatar

Isaac Tony is a professional software developer and technical writer fascinated by Tech and productivity. He helps large technical organizations communicate their message clearly through writing.

LinkedIn

관련 문장 - Docker Directory