Docker File이란
Docker Image를 만들기 위한 설정 파일입니다. 여러가지 명령어를 토대로 Docker File을 작성하면 설정된 내용대로 Docker Image를 만들 수 있습니다. 여기서 주의할 점은 DOCKER FILE 해당 명령어를 실행시는 파일일 뿐 실행시키는 exe 파일이 아니라는 것입니다.
#./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 9000
#gunicorn을 사용해서 서버를 실행
CMD ["gunicorn", "--bind", "0.0.0.0:9000", "codebnb.wsgi:application"]
docker build . -t 프로젝트명:태그
위와 같이 빌드하면 현재 해당 명령어를 실행시킨 디렉토리에 해당 태그로 docker image가 생성되는 것을 확인 할 수 있습니다.
docker ps -al
docker run 컨테이너 ID/이름
혹시 백그라운드에서 실행시키고 싶다면 ?
docker run -d 컨테이너ID/이름
포트 설정 (예:8000포트에서 9000포트로 포워딩!)
docker run -d -p 8000:9000 컨테이너ID/이름
docker rm "컨테이너ID/이름"
docker stop 컨테이너 ID/이름
docker start 컨테이너 ID/이름
docker logs 컨테이너 ID/이름
docker images
docker rmi "이미지ID"
docker push/pull "docker_hub_사용자계정/이미지이름:태그"
sudo usermod -a -g docker $USER
기본적으로 root계정에만 도커 사용권한이 있기 때문에, 해당 우분투의 유저를 등록해주어야 docker 명령어를 사용할 수 있습니다.