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
# 컨테이너 실행
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
# 이미지로 컨테이너 실행
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
도커파일 최적화 방법 유의할 것!
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 .
도커 로그인 → 구글 소셜로그인을 하면 비밀번호로 접근이 안된다.
Account Setting → Access Token 발급받아서 접근하자!