Docker | Docker Image 관리.

🛟 Dive.·2024년 8월 22일
0
post-thumbnail

Docker Image 관리.

이미지 내려 받기.

docker [image] pull [option] name:[tag]

Using default tag: latest
latest: Pulling from grafana/grafana
4abcf2066143: Pull complete
b02b4b1ae159: Pull complete
3bb77895c022: Pull complete
06ba99fa00c6: Pull complete
105bf4eba93e: Pull complete
94aeabba6e9f: Pull complete
d5ef5293514d: Pull complete
09419083b5bb: Extracting [==================================================>]  50.57MB/50.57MB
56983880012c: Download complete
4a1ff49c903a: Download complete
failed to register layer: write /usr/share/grafana/public/build/9778.1a22d469fa4b376d45d6.js.map: no space left on device

이미지 구조 확인.

docker images inspect 생성된 image의 내부 구조 정보를 JSON 형태로 제공.

docker image inspect [image명]

이미지 Push.

  • Dockerfile을 통해 생성된 이미지나 docker commit을 통해 생성된 이미지를 저장하는 곳을 registry라고 함.
  • Registry는 공개적으로 사용하는 public registry와 회사 내부에서만 접근되도록 하는 Private registry가 있음.
  • 여기서는 Docker에서 hub.docker.com을 이용해 docker push를 수행해 봄.

docker push를 하려면.
1) docker login : hub.docker.com에 가입된 본인 ID와 암호로 현재 로컬에 계정을 등록.
2) docker tag : hub.docker.com에 본인 계정의 Repositories에 넣기 위한 태그를 수행.

docker login/logout

  • hub.docker.com에 회원가입 후 서버에서 docker login을 통해 본인 저장소에 업로드 함.
  • Docker는 3가지로 접근 가능.
docker login

docker [image] tag -> push

docker images
docker image tag mysweb:v1.0 dbguru/myweb:v1.0
docker push dbguru/myweb:v1.0

docker [image] tag

  • hub.docker.com에 push된 이미지를 다른 위치에서 pull 해보고, docker run으로 정상 이미지인지 확인.
docker pull dbguru/myweb:v1.0
docker run -d -p 8001:80 --name=myweb dbguru/myweb:v1.0
curl localhost:8001

docker image 백업 및 이전.

  • docker save 명령을 통해 Layer로 구성된 이미지를 *.tar 파일로 묶어 파일로 저장.
  • 해당 파일을 전달 받은 컴퓨터에서 docker load를 통해 이미지로 등록.
mkdir save_lab && cd $_
docker image save phpserver:1.0 > phpserver1.tar
docker image save phpserver:1.0 | gzip > phpserver1.tar.gz
docker image save phpserver:1.0 | bzip > phpserver1.tar.bz2
  • docker save 명령을 통해 Layer로 구성된 이미지를 *.tar 파일로 묶어 파일로 저장.
  • 해당 파일을 전달 받은 컴퓨터에서 docker load를 통해 이미지로 등록.
scp phpserver1.tar.gz docker@docker2:/home/docker/backup/phpserver1.tar.gz
-------------------------------------
docker image load < phpserver1.tar.gz
docker images
docker run -itd -p 8200:80 phpserver:1.0
curl localhost:8200
profile
Data Science. DevOps.

0개의 댓글