1. docker-day3-1-Docker 명령 정리와 2장 퀴즈

data_hamster·2023년 6월 25일
0

학습주제
docker compose

학습내용

다수의 컨테이너로 구성된 소프트웨어를
쉽게 관리하고 실행해주는 툴

명령을 정리

  • docker build: 애플칩에선 --platform=linux/amd64, -t 로 이미지 이름

  • docker images, image ls

  • docker rmi 이미지 이름, id

  • docker image rm

도커 허브관련

  • docker loging -u 사용자 ID, -p PW
  • docker pull: 로컬로 받아옴
  • docker push: 허브에 업로드 앞에 네임스페이스/이미지아이디

다운 받을 때 대상 이미지가 오피셜 이미지면 네임스페이스 없이 이미지아이디만, 예를들어 파이썬, 우분투 등

컨테이너 관련

뒤에서 다이어그램을 가지고 라이프 사이클을 보자.

  • docker run --name -p -v 이미지 이름. --name=컨테이너이름
    p는 포트매핑. 외부 호스트 시스템과 연결하기 위해서. 호스트번호:컨테이너번호
    v는 도커 볼륨. 호스트 시스템에 있는 폴더와 내부 가상 시스템 폴더 연결. 마운팅. 컨테이너 내 폴더를 consist하게 만듦. 그 정보가 유실이 안되고 유지가 됨. 뒤에서 라이프 사이클 때 설명

컨테이너 로그

docker logs -f 컨테이너이름
cmd 키워드로 처음 실행될 명령어. 엔트리포인트도 썼었음.
다양한 스탠다드아웃풋 메세지들을 볼 수 있었음.
로그가 생기는 족족 f를 쓰면 리얼타임으로 보여줌.
없으면 지금까지 뿌려진 로그가 보일 것임.
--tail 100을 컨테이너 이름이면, 가장 최근 100개 로그 보여줌. 굉장히 유용하게 쓰일 수 있음. mysql root 패스워드 알 때 썼었음.


run 주어진 이미지 처음 실행
exec는 이미 실행 컨테이너에게 명령어를 지정해줌.
컨테이너 안에있는 hosts파일의 내용을 출력하는 명령을 실행시켰음.
그 결과가 프린트되고 끝남.
혹은 인터렉티브하게 하고 싶으면 -it 컨테이너id sh 형태로 쓰면 됨.


그냥 run 하면 끝날때까지 기다리게 됨.
안기다리고 계속 돌리고 싶으면 -d 써주면 됨 (서버같은거 돌릴 때 괜찮은거 같음)
다시 attach, 앞에서 돌게하고싶으면.
컨테이너 아이디 다 입력 안해도 앞에 4자리 정도만 입력해도 찾아줌.


이미지를 받은 상황이거나, 이미지를 받으면서 특정 이미지를 컨테이너로 올릴 때 run
러닝모드를 멈추면 포즈, 돌리고싶으면 언포즈.
ctrl c를 눌러 멈추면 stop으로 멈출수 있음. 버그가 있어도 stopped 컨테이너는 실행은 안되어있지만 메모리에서 내려간게 아님. 다만 멈춰져 있을 뿐임. docker ps를 하면 러닝 상태만 보여주는데, -a를 하면 멈춘걸 보여줌.
완전히 없애고 싶으면 -rm을 써주면, 삭제상태로 돌입.
docker create은 잘 안씀. 컨테이너 만들어넣고, start로 상태를 변환하는것도 있음.
restart를 하면 컨테이너를 다시 시작하는게 가능함.


1. 데브옵스 팀
2. 프로덕션 배포는 CD

3. pip3 install -r requirements.txt


p 옵션. 호스트포트:컨테이너포트
v 옵션은 볼륨


다수의 개발자가 공동개발 가능한건 SVC도 마찬가지


flake8


YML 파일은 프로그래밍 언어로 파싱 가능


워크플로우 트리거 이벤트 아닌건 delete

profile
반갑습니다 햄스터 좋아합니다

0개의 댓글