Docker 1.13 릴리스 요약
1월 19일에 출시된 Docker 1.13에서 바뀐 점을 요약하였습니다. Introducing Docker 1.13을 참고하였습니다.
1. swarm으로 클러스터를 띄울 때 compose 파일을 사용할 수 있습니다.
swarm으로 서비스를 관리할 때 옵션 지정하기가 번잡했던 부분을 해소할 수 있겠습니다.
2. 예전 버전과의 호환성 유지
Docker 데몬보다 클라이언트가 최신 버전인 경우 Error response from daemon: client is newer than server
에러를 만나곤 했는데요. 1.13 버전부터는 호환성이 유지된다고 합니다.
3. 청소용 명령어 추가
많은 사람들이 원했던 두 명령어가 추가되었습니다.
docker system df
: 도커가 디스크 용량을 얼마나 차지하는지 알려줍니다.
$ docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 85 7 8.59 GB 4.618 GB (53%)
Containers 9 3 407 MB 323.5 MB (79%)
Local Volumes 65 6 6.675 GB 5.968 GB (89%)
docker system prune
: 정지한 컨테이너, 연결이 끊긴 볼륨, 연결이 끊긴 네트워크, 외톨이(dangling) 이미지가 삭제됩니다.
$ docker system prune
WARNING! This will remove:
- all stopped containers
- all volumes not used by at least one container
- all networks not used by at least one container
- all dangling images
Are you sure you want to continue? [y/N]
4. 명령어 구조 변경
docker container
와 docker image
등의 명령어 모음을 추가하면서 구조를 변경하고 있습니다. 예를 들어 docker images
같은 명령어는 뜻이 더 분명해 보이는 docker image list
로도 실행할 수 있습니다.
docker container
: 컨테이너와 관련된 명령어가 들어 있습니다.
$ docker container
Commands:
attach Attach to a running container
commit Create a new image from a container's changes
cp Copy files/folders between a container and the local filesystem
create Create a new container
diff Inspect changes on a container's filesystem
exec Run a command in a running container
export Export a container's filesystem as a tar archive
inspect Display detailed information on one or more containers
kill Kill one or more running containers
logs Fetch the logs of a container
ls List containers
pause Pause all processes within one or more containers
port List port mappings or a specific mapping for the container
prune Remove all stopped containers
rename Rename a container
restart Restart one or more containers
rm Remove one or more containers
run Run a command in a new container
start Start one or more stopped containers
stats Display a live stream of container(s) resource usage statistics
stop Stop one or more running containers
top Display the running processes of a container
unpause Unpause all processes within one or more containers
update Update configuration of one or more containers
wait Block until one or more containers stop, then print their exit codes
이 중에 docker container list
만 실행을 해보면...
$ docker container list
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b769009a1693 raccoony/buster "./run.sh" 3 hours ago Up 2 hours 0.0.0.0:9000->9000/tcp blog_buster_1
5aeaf1187adc ghost "/entrypoint.sh np..." 3 hours ago Up 2 hours 0.0.0.0:2368->2368/tcp blog_ghost_1
docker image
: 이미지와 관련된 명령어가 들어 있습니다.
$ docker image
Commands:
build Build an image from a Dockerfile
history Show the history of an image
import Import the contents from a tarball to create a filesystem image
inspect Display detailed information on one or more images
load Load an image from a tar archive or STDIN
ls List images
prune Remove unused images
pull Pull an image or a repository from a registry
push Push an image or a repository to a registry
rm Remove one or more images
save Save one or more images to a tar archive (streamed to STDOUT by default)
tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
이 중에 docker image prune
을 실행해보았습니다. 1.5GB를 아꼈네요. :)
$ docker image prune
WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N] y
Deleted Images:
deleted: sha256:9e36c6055df2ada
...
Total reclaimed space: 1.579 GB
5. swarm 모니터링 개선
swarm으로 실행한 클러스터들의 로그를 모아서 보여주는 docker service logs
명령이 추가되었습니다.
6. 빌드 개선
docker build
를 실행할 때 --squash
옵션을 추가하면, 겹겹이 쌓인 파일시스템 레이어를 하나로 합쳐줍니다. --squash
를 사용하면, 이미지 레이어를 최소화해서 얻는 장점도 있는 반면, 여러 이미지들이 공유하던 중간 레이어들을 공유할 수 없다는 단점도 생깁니다.
또, --compress
옵션도 추가되었습니다. 원격에 있는 데몬과 통신하면서 이미지를 빌드할 때, 오가는 데이터를 압축하여 빌드 속도를 높인다고 합니다.
7. AWS, Azure 지원(베타)
AWS와 Azure에서 퍼블릭 베타 형태로 Docker를 지원합니다.
COMMENTS