도커 교과서 공부하면서 몰랐던것들 + 연습문제

PowerShell에서 모든 컨테이너 강제삭제

docker container ls -aq | ForEach-Object { docker container rm -f $_ }
docker container prune -f

PowerShell에서 이미지 삭제

# 특정 패턴의 이미지 삭제
docker image ls -f "reference=diamol/*" -q | ForEach-Object { docker image rm -f $_ }

# 모든 이미지 삭제
docker image prune -a -f

2장 연습문제

# 컨테이너 실행
docker container run --detach --publish 8088:80 diamol/ch02-hello-diamol-web

# 컨테이너 아이디 확인
docker ps

# 복사
docker cp "C:\\Users\\gyqja\\git\\tech-practice\\docker-practice\\index.html" f1c3a3163c35:/usr/local/apache2/htdocs

# 해당 컨테이너 접근
# docker exec -it 8d97560f29c4 /bin/sh 

3장 연습문제

# 이미지로 컨테이너 실행
docker run -it --name temp_con diamol/ch03-lab /bin/sh

# 파일 뒤에 붙히기
echo "장효범" >> ch03.txt

exit

# 새 이미지 만들기
docker commit temp_con new_diamol/ch03-lab

# 이미지 확인
docker run -it new_diamol/ch03-lab cat ch03.txt

도커파일 최적화 방법 유의할 것!

4장 연습문제

FROM diamol/golang AS builder

# main.go를 컨테이너에 복사
COPY main.go .
# 실행 가능한 Go 애플리케이션 (/web/server)을 생성
RUN go build -o /web/server
# 실행 파일에 실행권한 추가
RUN chmod +x /web/server

# app
FROM diamol/base

EXPOSE 80
# 컨테이너 시작 시 Go 서버 실행
CMD ["/web/server"]
# 환경 변수 설정
ENV USER=sixeyed

WORKDIR web
# 빌드된 실행 파일을 가져옴
COPY --from=builder web/server .
# HTML 파일도 함께 복사하여 웹 서버에서 사용 가능
COPY index.html .

5장

도커 로그인 → 구글 소셜로그인을 하면 비밀번호로 접근이 안된다.

Account Setting → Access Token 발급받아서 접근하자!