학습주제
학습내용
도커 허브 소개
허브에 리포로 등록. 리눅스 서버에서 다운받고 컨테이너 돌려봄
앞서 만든 이미지를 리포지토리에 등록.
이미 만들었음
오른쪽에
CREATE repository
hello-world-docker/를 리포로 등록
CLI에서 업로드 시도할 예정.
네임스페이스는 내 아이디 kjw9684k
퍼블릭 주면됨.
private은 한개까지만 등록 가능. 아님 업그레이드. 깃헙과 유사한 모델.
터미널로 이동해서
허브에서 만들었던 그 포맷으로 바꾸려면 tag 쓰고 두개 인자를 넘기면 됨.
버전 포함해서 넘겨주면 됨.
아에 허브와 동일한 포맷으로 만드는구나.
이를 위한 인증 필요
docker login --username=kjw9684k
똑같은 터미널안에선 더 입력 안해도 됨. 여러 설정도 가능함. 세션 관련해서.
최종적으로 docker push kjw9684k/hello-world-docker
깃헙에서 코드 다 바꾸고 서버단 push 하는 거랑 똑같다고 봄
웹서버에서 확인해보면
방금 올린 도커 이미지가 보임.
퍼블릭이기 때문에 다운로드 받을 수 있음
공짜로 리눅스 서버를 사용해줄수 있게하는 서비스 있음. 4시간정도.
도커 서비스 테스트할 때 사용.
헬로우 도커가 실행되는지 확인
새로운 리눅스 서버에서 받아서 컨테이너로 실행
https://labs.play-with-docker.com/
add new instance 뜨고
리눅스 서버에 도커가 이미 설치되어 있음.
앞에서 했던 것처럼. 이미지를 받아서 그걸 바탕으로 컨테이너를 실행시켜볼 수 있음.
터미널을 alt enter로 최대화
pull 안해도 바로 run 가능한건 신기함.
보니까 하나의 리포가 바로 이미지
latest 태그가 디폴트로 실행됨.
cmd 키워드에 node app.js를 넣어놨었음.
에러가날 수 있음
호스트 플랫폼과 이미지 플랫폼이 다르다고
docker build를 할 때 amd 플랫폼을 쓰게끔 설정했었음.
사실 :버전 이게 생략됨. 기본 latest를 사용함
정상적으로 출력된 것을 확인할 수 있음
데스크탑에서도 pull push 가능.
보통은 CLI에서 처리하긴 함.
docker version
docker build -t (이미지 이름 :버전)
docker push
docker tag 인자1 인자2
docker pull 도커이미지
docker run 엔트리포인트, cmd 설정되어 있으면 그게 실행됨.
p 포트번호 변경
v 볼륨을 바꾸고 싶다면
이렇게 오버라이드 할 수 있음
run
지정된 이미지를 새로운 컨테이너를 실행
exec
이미 실행된 컨테이너에 작업.
--user root -u root
로 루트 유저로 접근 가능.
안쓰면 도커파일에 지정한 유저로 로그인함.
실제 데모는 다음에