일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 은혜침구
- 양동점
- 배딩작업
- egov
- Eclipse
- 문방구과자
- ORA-01756
- 맛집
- Jsp Pagination
- docker
- 광주
- Java
- 디카페인
- mybatis
- Responsively app
- 루키초밥
- 정민이초밥
- 나주
- 반응형앱
- SVN사용방법
- 요리
- JavaScript
- ORA-01005
- ORA-00909
- AbstractViewe
- Oracle
- RefreshableSqlSessionFactoryBean
- ORA-01745
- css
- 카페
- Today
- Total
gnusraun
Docker Dockerfile 만들기 본문
Docker Dockerfile 만들기
$ nano Dockerfile
FROM
: 이미지를 만들기 위한 기본 이미지를 지정합니다. 모든 Dockerfile은 FROM 명령어로 시작해야 합니다.
FROM ubuntu:22.04
MAINTAINER
: 이미지를 만든 사람의 정보를 제공합니다.
MAINTAINER gnusraun@example.com
COPY
: 파일이나 디렉토리를 호스트에서 컨테이너의 파일 시스템으로 복사합니다.
** 현재경로기준 Dockerfile build시
** app에 들어있는 모든 파일들을 컨테이너의 /usr/src/app으로 복사한다.
COPY ./app /usr/src/app
RUN
: 컨테이너 내부에서 실행할 명령어를 지정합니다. 이 명령어는 이미지 빌드 중에 실행됩니다.
RUN apt-get update && apt-get install -y python
WORKDIR
: RUN, CMD, ENTRYPOINT, COPY, ADD 명령어가 실행될 작업 디렉토리를 설정합니다.
WORKDIR /usr/src/app
EXPOSE
: 컨테이너가 수신할 포트를 지정합니다. 실제 포트 매핑은 컨테이너 실행 시 결정됩니다.
EXPOSE 80
ENV
: 컨테이너 환경 변수를 설정합니다. 이 변수들은 RUN, CMD, ENTRYPOINT에서 사용할 수 있습니다.
ENV NODE_ENV production
CMD
: 컨테이너가 시작될 때 실행될 기본 명령어를 설정합니다. Dockerfile에는 하나의 CMD만 있어야 합니다.
CMD ["python", "./app/app.py"]
Dockerfile 응용하기
python으로 flask 라이브러리를 이용하여 웹 사이트를 Dockerfile에 작성하여 실행
FROM python:3.8-slim
COPY . /app
RUN pip3 install flask
WORKDIR /app
CMD ["python3", "app.py"]
Dockerfile 실행하기
// Dockerfile 빌드
docker build -t python_test .
// 빌드 후 이미지가 생성되며 이후 실행
docker run -d -p 0.0.0.0:5000:5000/tcp --name python_test python_test
Docker Container 에러시 확인 방법
// docker 로그 확인
docker logs python_test
'DevOps > Docker' 카테고리의 다른 글
docker-compose 설치 및 사용 (0) | 2024.01.19 |
---|---|
Docker 명령어 모음 (0) | 2024.01.19 |
Docker 설치하기 - Ubuntu (0) | 2024.01.19 |
Docker Java war 컨테이너 만들기 (0) | 2023.06.11 |
Docker python 컨테이너 만들기 (0) | 2023.06.11 |