728x90
wsl
bash
# 레지스트리에서 도커 이미지 불러오기
docker pull nginx:1.23
# 이미지 확인
docker images
# 컨테이너 생성
docker create nginx
# 이미지 불러오고 컨테이너 생성 및 시작
docker run nginx:1.23
# 포트설정
# nginx 컨테이너의 80번 포트를 호스트 모든 ip의 8090번 포트와 연결 후 실행
docker run -d -p 8090:80 nginx
# 컨테이너 전체 확인
docker ps -a
# 컨테이너 시작
docker start nginx
# 컨테이너 종료
docker stop nginx
# 모든 컨테이너 종료
docker stop $(docker ps -a -q)
# 컨테이너 (강제종료 후) 삭제
docker rm (-f) nginx
# 중지된 모든 컨테이너 삭제
docker container prune
# mysql 접속
docker exec -it my-sql bash
mysql -u root -p
volume
- 이미지를 빌드할 때 일반적으로 dockerfile 이라는 파일 기반으로 이미지가 빌드된다.
- 컨테이너는 이미지 레이어와 컨테이너 레이어로 구성되어있고,
이미지 레이어는 읽기 전용이지만 컨테이러 레이어는 읽기/쓰기 가능.
- 컨테이너 레이어는 컨테이너가 종료되면 함께 삭제된다.
그러나 컨테이너가 종료되어도 데이터를 보존할 수 있는 방법 3가지
1) Host volume
2) Volume Container
3) Docker volume
1) Host volume
- 호스트의 디렉토리를 컨테이너의 특정 경로에 마운트한다.
# nginx 기본 접속 페이지 확인
docker run -d -it -p 8090:80 --name my-nginx nginx:1.23
# 마운트할 디렉토리 생성
docker run -d -it -p 8090:80 --v $(pwd)/html:/usr/share/nginx/html --name my -nginx ngninx:1.23
# docker inspect 명령어 사용해 Mount 확인
docker inspect my-nginx
2) Volume Container
- 특정 컨테이너의 볼륨 마운트를 공유할 수 있습니다.
docker run -d --name my-volume -it -v $(pwd)/html:/usr/share/nginx/html ubuntu
# my-volume 컨테이너의 볼륨을 공유
docker run -d -p 8090:80 --name my-nginx --volumes-from my-volume nginx
3) Docker volume
- 도커에서 제공하는 볼륨 관리 기능을 활용해 컨테이너가 삭제되더라도 데이터를 보존
- 기본적으로 /var
# 도커 볼륨 확인
docker volume ls
728x90
'#02.천재교육 빅데이터 > +09.MLOps 기초' 카테고리의 다른 글
| [천재교육] 도커2 (0) | 2023.04.13 |
|---|