$ docker pull busybox //busybox 이미지 다운
$ docker images //pc 내 이미지 조회
$ docker run busybox echo 'Hello World' //busybox 컨테이너 실행 후 셀에 echo명령어 입력
Hello World
$ docker ps -a //실행중인 컨테이너 조회
클라이언트 : 도커의 명령을 받고, 결과를 출력한다.
서버 : 도커엔진의 도커데몬을 이용하여 컨테이너를 시작, 운영, 정지한다.
로컬 혹은 데스크톱에 이미지 저장하는 법
명령 | 설명 |
---|---|
build | Dockerfile에서 이미지를 빌드함한다. |
import | tarball에서 내용가져와서 파일 시스템 이미지를 생성한다. |
inspect | 하나 이상의 이미지 정보를 출력한다. |
load | tar 아카이브 또는 stdin에서 이미지를 가져온다. |
ls | 이미지 목록을 출력한다. |
prune | 사용하지않는 이미지를 제거한다. |
pull | 저장소에서 이미지를 다운한다. |
push | 이미지를 저장소에 저장한다. |
rm | 하나 이상의 이미지를 제거한다. |
save | 하나 이상의 이미지를 tar 아카이브에 저장한다. |
tag | SOURCE_IMAGE를 참조하는 TARGET_IMAGE 태그를 작성한다. |
$ docker pull debian
$ docker pull debian:10.3 //태그 = 버전 명시
$ docekr pull library/debian:latest //도커 허브 registry 명시
$ docekr pull gcr.io/google-sample/hello-app:1.0 //외부 registry 명시
//docker.io는 도커 허브 이미지 저장소 주소를 나타낸다.
-docker image ls (옵션) (registry(:tag))
$ docker image ls
$ docker images //둘이 같은 명령어
$ docker image inspect httpd
$ docker image inspect --format="{{.RepoTags}}" httpd
[httpd:latest] //중괄호형식을 이용하여 JSON의 정보 중 일부를 출력한다.
$ docker images
REPOSITOORY TAG IMAGE ID CREATED SIZE
httpd latest b2c2ab6dcf2e 13 days ago 166MB
//저장소와 버전(tag) 입력
$ docker image tag b2c2ab6dcf2e debian-httpd:1.0
REPOSITOORY TAG IMAGE ID CREATED SIZE
httpd latest b2c2ab6dcf2e 13 days ago 166MB
debian-httpd 1.0 b2c2ab6dcf2e 13 days ago 166MB
$ docker image tag httpd:latest debian-hpptd:2.0
REPOSITOORY TAG IMAGE ID CREATED SIZE
httpd latest b2c2ab6dcf2e 13 days ago 166MB
debian-httpd 1.0 b2c2ab6dcf2e 13 days ago 166MB
debian-httpd 2.0 b2c2ab6dcf2e 13 days ago 166MB
//도커 허브같은 레지스트리에 업로드하는 경우 저장소명과 태그 지정
$ docker image tag httpd:latest inha/httpd:3.0
REPOSITOORY TAG IMAGE ID CREATED SIZE
httpd latest b2c2ab6dcf2e 13 days ago 166MB
debian-httpd 1.0 b2c2ab6dcf2e 13 days ago 166MB
inha/httpd 2.0 b2c2ab6dcf2e 13 days ago 166MB
$ docker login
$ docker push 아이디/httpd:3.0
$ docker pull 아이디/httpd:3.0
$ docker logout
$ docker pull mysql:5.7
/* save로 image파일 tar파일로 변환 */
$ docker image save mysql:5.7 > test-mysql57.tar
$ ls -lh test-mysql57.tar
-rw-rw-r-- 1 hslee hslee 5 7 16:31 test-mysql57.tar
/*
tar 파일 내용 확인
t : list, v : verbose, f : file
*/
tar tvf test-mysql57.tar
/* load로 tar 파일을 image 파일로 변화 */
$ docker image rm mysql:5.7
$ docker image load < test-mysql57.tar
//tar보다 용량줄이려고 이용
$ docker image save mysql:5.7 | gzip > test-mysql57.zie.tar.gz
$ docker pull ubuntu:14.04
//만약 참조하는 컨테이너 존재시
$ docker stop 컨테이너이름
$ docker rm 컨테이너이름
$ docker image rm ubuntu:14.04
$ docker rmi ubuntu:14.04
$ docker image prune -a