Docker Images
Docker Image 생성 삭제
1. 이미지 생성
$> docker run -it --name commit_test ubuntu:14.04
컨테이너 내 파일 추가
root@abcd1234 /# echo test_first! >> first
2. 이미지 commit
# docker commit [옵션] {컨테이너명} [리파지토리[:태그]]
$> docker commit -a "abcd123" -m "first commit" commit_test commit_test:first
-a : author
-m : message
3. 이미지 확인
$> docker images
레이어 구조 확인
$> docker history {라파지토리[:태그]}
4. 이미지 삭제
$> docker rmi {리파지토리[:태그]}
5. 이미지 추출 & 원복
$> docker save -o ubuntu_14.04.tar ubuntu:14.04
$> docker load -i ubuntu_14.04.tar
6. FileSystem 추출 & 원복
$> docker export -o rootFS.tar mycontainer
$> docker import rootFS.tar myimage:0.0
Docker Hub (https://hub.docker.com)
1. 이미지 검색
$> docker search {검색어}
cf) 도커 이미지의 architecture 확인
$> docker inspect ubuntu | grep "Architecture"
2. 이미지 업로드
1) 도커 허브에 로그인
$> docker login
2) 이미지명에 repository 접두어 추가
$> docker tag my-image:0.0 alicek107/my-image:0.0
cf) 이미지 이름 변경법
# docker tag {기존 이미지명} {새로운 이미지명}
3) 이미지 push
$> docker push alicek107/my-image:0.0
4) 이미지 download
$> docker pull alicek107/my-image:0.0
3. 사설 Registry
1) 사설 registry 실행
$> docker run -d --name myregistry -p 5000:5000 --restart=always registry:2.6
--restart : 컨테이너 종료 되었을때 재시작 정책
always : 항상 재시작
on-failure:{횟수} : 컨테이너 종료 코드가 0이 아닐때 5번까지 재시작
unless-stopped : stop 명령어로 정지했다면 도커 호스트나 엔진을 재시작해도
컨테이너 시작되지 않음
확인
$> curl localhost:5000/v2/
2) 사설 registry로 이미지명 변경
$> docker tag test-image:0.0 {사설registry_IP}:5000/test-image:0.0
또는 환경변수 DOCKER_HOST_IP 설정
3) Push
$> docker push {사설registry_ip}:5000/test-image:0.0
cf) 도커 데몬은 https가 기본이라 http 오류가 나면 아래 설정.
DOCKER_OPTS="--insecure-registry={IP}:5000" (단, localhost는 기본적으로 insecure-registry)
4) Pull
$> docker pull {사설registry_IP}:5000/test-image:0.0
댓글
댓글 쓰기