꽤나 뜸해져버렸는데,
다시 초심을 잡아야겠다.
컴퓨터 프로그램 + 관련 문서 + 데이터의 집함
기본적인 개념은 모두 알고 있었던 도커,,!
실제로 써본 적은 없어서, 내가 만든 프로젝트를
amazon ec2에 도커로 배포하는 연습을 조만간 해보려고 한다.
Docker 설치
brew install --cask docker
mysql 8 버전 다운로드
docker pull mysql:8
다운 받은 이미지 확인
docker images
MySQL 실행
docker run --name mysql-tutorial -e MYSQL_ROOT_PASSWORD=1234 \
-d -p 3306:3306 -v {Host_dir:Container_dir} mysql:8
--name : 컨테이너 이름 지정
-e : 환경변수 설정
-d : (daemon) 백그라운드에서 실행
-p : 포트 바인딩
-v : 볼륨 마운트(폴더 공유)
맨 마지막 : 이미지
실행 중인 컨테이너 확인
docker ps
작동이 멈춘 컨테이너 확인
docker ps -a
컨테이너 삭제
docker rm {container} # 멈춘 컨테이너 종료
docker rm -f {container} # 실행 중인 컨테이너도 종료
컨테이너 진입
docker exec -it mysql-tutorial /bin/bash
MySQL 실행
mysqld -u root -p
Dockerfile 예시
FROM pytorch/pytorch:1.13.1-cuda11.6-cudnn8-runtim
COPY . /app
WORKDIR /app
ENV PYTHONPATH=/app
ENV PYTHONUNBUFFERED=1
RUN pip install pip==23.0.1 && \
pip install poetry==1.2.1 && \
poetry export -o requirements.txt &&\
pip install -r requirements.txt
CMD ["python", "main.py"]
FROM : 이미지 이름:태그
COPY {Local_dir} {Container_dir} : 파일 복사
WORKDIR : 컨테이너 내에서 커맨드를 어디서 실행할 지 정하기
ENV : 환경 변수 지정(파이썬의 경우 보통 위 두 값을 지정)
RUN : 실행할 명령어들
CMD [실행할 명령어, 인자] : 세팅 후에 실행할 명령어 지정
도커 이미지 빌드
docker build -t 02docker:latest .
-t {이미지 이름:태그} : default 태그는 latest
맨 마지막 인자 : Dockerfile의 경로
그 외 Dockerfile 명령어
연동하기
docker login
Tag 설정
docker tag 02-docker:latest {아이디}/02-docker:latest
Dockerhub push
docker push {이미지 이름:태그}
서두르지 말고,
한 발짝씩 나아가기