가상화/docker

docker 사용

dev-note 2018. 9. 11. 09:49

설치

자동 다운로드 스크립트

# curl -fsSL https://get.docker.com/ | sh


서비스 시작 및 조회

# systemctl start docker

# systemctl status docker

이미지 다운로드

이미지 검색

https://hub.docker.com/


또는

#docker search centos


검색한 이미지 다운로드

# docker pull centos:6.9


설치된 이미지 목록 조회

# docker images

컨테이너 생성 및 실행

컨테이너 생성 및 콘솔 연결

# docker run -ti --name [image name] centos:6.9 /bin/bash


또는

# docker run -ti --rm [image name] [binary]


생성한 컨테이너 실행

# docker start [container name]


생성한 컨테이너 콘솔 연결

# docker attach [container name]


컨테이너 상태 조회

# docker ps -a


컨테이너 생성시 gdb 를 사용한 디버깅이 필요하다면 다음의 옵션이 필요

# docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined


커널의 randomize_va_space 옵션을 꺼야 한다면 다음의 옵션이 필요

# docker run --privileged sh -c "echo 0 > /proc/sys/kernel/randomize_va_space"

컨테이너 export

생성 및 수정 한 컨테이너를 export 하여 tar.gz 파일로 저장

이미지 정보를 포함하고 import 할때는 또 하나의 이미지로 등록됨

# docker export [container name] | gzip > [file name].tar.gz

컨테이너 import

export 된 컨테이너(이미지) import

[root@10.9.8.2 /root/work] docker import docker-export-ocssw.tar.gz

sha256:dbe696e5e3c623a82e07a60795cf19f5be6afaf50f34605a6571e52de9ae2579


import 된 컨테이너(이미지) 조회

[root@10.9.8.2 /root/work] docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
<none>              <none>              dbe696e5e3c6        13 seconds ago      15.8GB
centos              7.2.1511            0a2bad7da9b5        5 months ago        195MB


생성 및 콘솔 연결

[root@10.9.8.2 /root/work] docker run -i -t --name ocssw dbe696e5e3c6 /bin/bash
[root@2ddfcaa5f396 /]#