클라우드 + DevOps/Docker

Docker 실습 :: Docker hub / scp 명령어를 이용한 Image 전송 방법

gamjadori 2024. 2. 11. 11:51
728x90

<Image 전송 방법>

1. Docker hub 이용

1. Docker hub 로그인 방법: docker login (아이디 + 패스워드)

ubuntu@host1:~/Labs$ docker login

 

2. Docker hub 로그인 방법: 토큰 이용

  • 도커 허브 사이트 로그인 > My Account > Security > Access Tokens > New Access Token
  • 생성된 토큰 복사 (딱 한번만 보여줌)

ubuntu@host1:~/Labs$ vi .access_token
>> 복사한 토큰 붙여넣기
ubuntu@host1:~/Labs$ cat .access_token | docker login -u (아이디) --password-(비밀번)
~
Login Succeeded
>> 매번 로그인 하지 않고 계속 접속 가능 

 

<도커헙에 이미지 업로드>

1. tag: 이름 변경

ubuntu@host1:~$ docker image ls | grep myweb
myweb           1.0         59559~~             4 hour ago        12.1MB
ubuntu@host1:~$ docker image tag myweb:1.0 (아이디)/myweb:1.0
ubuntu@host1:~$ docker image ls | grep myweb
myweb             1.0         59559~~             4 hour ago        12.1MB
(아이디)/myweb    1.0         59559~~             4 hour ago        12.1MB
>> (아이디)/myweb 생성

 

2. 이미지 내보내기 (push)

ubuntu@host1:~$ docker image push (아이디)/myweb:1:0

 

2. 서버 간 이미지 파일 전달

  • save > scp > load

1. docker image save: 이미지 > 파일

  • 다른 서버로 파일 전달해서 컨테이너 구축 가능
ubuntu@host1:~$ docker image save (아이디)/myweb:1.0 > myweb1.0.tar
ubuntu@host1:~$docker image save (아이디)/myweb:1.0 | gzip > myweb1.0.tar.gz

2. 파일 전송

ubuntu@host1:~$ scp ./myweb1.0.tar (전달할서버이용자)@(전달IP):/(파일경로)

 

3. 이미지 불러와서 등록

ubuntu@host2:~$ docker image load < myweb1.0.tar

 

 

<서버 간 컨테이너 전송 방법>

  • export > scp > import
  1. 컨테이너 내보내기
ubuntu@host2:~$ docker container export (컨테이너 이름) > (컨테이너이름).압축확장자(tar)

 

2. 파일 전송

ubuntu@host1:~$ scp ./myweb1.0.tar (전달할서버이용자)@(전달IP):/(파일경로)

 

3. 컨테이너 불러오기

ubuntu@host1:~$ cat my_container2.tar | docker image import - my_container2:2.0

 

4. 컨테이너 실행 및 가동 확인

ubuntu@host1:~$ docker container run -itd my_container2:2.0 sh
ubuntu@host1:~$ docker container ps -a