Docker
맨날 헷깔리는 Docker 명령어 옵션들을 예시로 정리해봤다.
docker run -d -i -t --name fast_api -p 8080:80 -v d:/shared:/mnt/d/shared ubuntu:20.04
docker exec -i -t fast_api /bin/bash
docker logs fast_api
docker --tail 10 fast_api
docker logs -f fast_api
docker commit -a author -m message fast_api fast_api:0.2
docker stop fast_api
docker start fast_api
docker ps -a
docker rm fast_api
docker images
docker rmi ubuntu:20.04
- -i
- interaction
- 내가 입력한 내용, 그리고 응답한 내용을 출력해준다. stdin/stdout과 연결
- -t
- tty(teletypewriter)
- 타이핑으로 통신할 수 있도록 해주는 인터페이스
- requirement.txt 작성
fastapi>=0.68.0,<0.69.0 pydantic>=1.8.0,<2.0.0 uvicorn>=0.15.0,<0.16.0 - Dockerfile 작성
FROM python:3.9 WORKDIR /code COPY ./requirements.txt /code/requirements.txt RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt COPY ./app /code/app CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "80"] - docker build
docker build -t fast_api:0.3 . docker run -d -i -t --name fast_api -p 7759:80 -v d:/shared:/mnt/d/shared fast_api:0.3