1. Doker Hub
- 도커의 기본 이미지 저장소
- 이미지 공유
- 이미지를 검색하거나 특정 이미지를 사용하여 컨테이너를 실행하는 방법에 대해 알 수 있다.
- 도커 회사가 개발한 official image는 물론 사용자들이 개발한 이미지들도 다운받을 수 있다.
- 형태 -> 저장소 이름 : Tag (official) , 허브의 ID/저장소 이름 : Tag ( 그 외)
- 허브의 ID : 사용자가 다수의 이미지 저장소를 가질 수 있고, 이미지의 업로드 할 때 인증에 필요한 절차로 사용된다.
2. docker search
- 이미지 검색
- official image => name : centos
- centos -> 저장소 이름(repository)
- user image ⇒ name : ansible/centos7-avilable
- ansible/centos7-avilable → hubID/RepositoryName
- image field
- NAME : 이미지 저장소 이름
- DESCRIPTION : 이미지에 대한 설명
- STARS : 이미지에 대한 평가점수
- OFFICIAL : 공식 이미지 여부
- AUTOMATED : 자동화 빌드 여부
- default tag : latest
- docker search 명령은 이미지 저장소에 저장되어있는 태그까지는 알 수 없다.
- 원하는 이미지를 정확하게 검색하려면 도커 허브를 사용해라.
- 중복된 layer는 다운받지 않는다.
- 같은 repository에 있더라도 tag가 다르면 다운로드 받는다.
- Docker Object
- 하나의 객체
- docker를 사용해서 다운받는 것들 ⇒ docker resource
- image, container, network, volume
- openstack resource ⇒ server, network, image, flavor, volume, sg, keypair
3. docker pull
- 이미지 다운로드
- Tag를 지정하지 않으면 자동으로 Tag에 latest가 부여된다.
- Tag ≒ Hard link
- docker inspect mysql:5.7
- 위와 같이 이미지는 다수의 layer로 이루어져있다.
- 이미지마다 layer의 수는 다르며 만약 layer가 중복된다면 다시 다운로드 받지 않는다.
4. docker images
- 이미지 목록 나열.
- = docker image ls
5. docker rmi
- remove image
- 삭제하려고 하는 이미지와 관련된 레이어는 전부 삭제된다.
- 해당 레이어를 다른 컨테이너 또는 이미지가 사용하고 있다면 삭제하지 않는다.
1. docker rmi hello-world
docker ps -a
2. docker rm [id 앞자리 두개]
docker ps -a
3. docker rm -f hello-world
1. tag를 붙여주지 않으면 삭제되지 않는다.
2. id로 삭제 가능하다.
3. -f 옵션으로 사용중인 이미지도 삭제 가능하다. 권장하지 않음.
6. docker inspect
- 자세한 정보 확인
- 이미지 뿐만 아니라 도커 오브젝트의 정보를 자세히 확인 할 수 있다.
- NAME = docker object의 이름이나 ID
- docker inspect centos:latest
- "RepoDigests" → hash 값
- "AttachStdin" : 표준입력(키보드로 입력하는 것)
- "Env" : 환경변수
- "Cmd" : 이 어플리케이션을 실행했을 때 실행하는 명령어
- systemctl로 시작할수 있는가, 방화벽을 열어야되는가 → 서비스 아님
- 서비스 3요소
- binary
- port
- 설정파일
- ex) /bin/bash는 설정파일이 있지만 port가 없다.그러므로 서비스 아님.
- ex) httpd → 노출되는 port가 있다 → 서비스.
- "WorkingDir" : 컨테이너에 접근했을 때의 디렉토리. 비어있으면 보통 / 이다.
- "Entrypoint" : Entrypoint가 지정되어있지 ㅇ낳으면 Cmd가 명령으로 동작하며, Entrypoint와 Cmd가 함께 있으면 Entrypoint가 명령어이고 Cmd가 인자처럼 동작한다.
- /root ≠ /
- /root → root의 home dir
- "RootFS" → Layers
- 각 layer마다 file의 내용물이 들어있다.
- 내용물의 양이 많을수록 이미지의 크기가 커진다.
- layer를 구분할때는 hash값으로 구분한다.
'Containers > Docker' 카테고리의 다른 글
이미지 제작 (0) | 2020.07.20 |
---|---|
간단한 Docker 실습 (0) | 2020.07.20 |
Install Docker (Ubuntu) (0) | 2020.07.13 |
Docker란? (0) | 2020.07.13 |
댓글