TIL53 - Docker(2)
Docker
Docker 이론에 대해 배웠으니, 이번엔 실습을 해볼 예정입니다.
저는 맥북 M1을써서, 제 기준으로 작성했습니다.
1. 설치
Docker 홈페이지로 가서 설치합니다.
2. DockerFile 생성
root directory로 이동하여, DockerFile을 생성합니다.
확장자명은 없이, 이름만 작성해주면 됩니다.
아래 사진에 저는 대문자로 썼는데, Dockerfile
이라고 입력해줘야 합니다.
대소문자까지 보네요;;
만든 파일에 아래와 같이 입력해줍니다.
#./Dockerfile
FROM python:3
#기반이 될 이미지
# 작업디렉토리(default)설정
WORKDIR /usr/src/app
## Install packages
#현재 패키지 설치 정보를 도커 이미지에 복사
COPY requirements.txt ./
#설치정보를 읽어 들여서 패키지를 설치
RUN pip install -r requirements.txt
## Copy all src files
#현재경로에 존재하는 모든 소스파일을 이미지에 복사
COPY . .
## Run the application on the port 8080
#8000번 포트를 외부에 개방하도록 설정
EXPOSE 8000
#CMD ["python", "./setup.py", "runserver", "--host=0.0.0.0", "-p 8080"]
#gunicorn을 사용해서 서버를 실행
CMD ["gunicorn", "--bind", "0.0.0.0:8000", "프로젝트명.wsgi:application"]
3. 실행
우선 아래명령어를 입력하여 Docker를 실행시켜줍니다.
저는 편의상 Docker파일이 있는 디렉토리에서 실행했습니다.
docker run -d -p 80:80 docker/getting-started
그러면 컨테이너 하나가 RUNNING 상태인 걸 알 수 있습니다.
그리고 Dockerfile이 있는 디렉토리에서 아래와 같은 명령어를 입력해줍니다
docker buildx build --platform=linux/amd64 -t {image name}:{tag name} {Dockerfile path}
ex) docker buildx build --platform=linux/amd64 -t lkyong0926/humanscape:0.1.0 .
그럼 터미널에서 빌드가 완료됐다는 걸 볼 수 있습니다.
그 다음 빌드된 이미지를 실행해봅니다
docker run --name '컨테이너 명' -d'데몬으로 실행하기 위한 옵션' -p '호스트 포트':'컨테이너 포트' '이미지명'
ex) docker run --name humanscape -d -p 8000:8000 lkyong0926/humanscape:0.1.0
명령어를 통해 확인도 가능합니다.
아래와 같이 입력 후, Status가 Up.. 이면 정상적으로 된 것입니다.
docker ps -a
내가 이름지은대로 컨테이너가 생성된걸 확인할 수 있습니다.
기본적인 연결이 끝났으니, 다음엔 배포를 해보겠습니다.
Author And Source
이 문제에 관하여(TIL53 - Docker(2)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kyleee/TIL53-Docker2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)