개요
구성환경
CentOS 7.6/ docker-ce-19.03
1. 컨테이너 목록 확인
> docker ps : 현재 실행중인 컨테이너 목록
shell> docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cdfb9b9576cf ubuntu:latest "/bin/bash" 9 hours ago Up 4 minutes my_ubuntu_1 shell> |
> docker ps -a : 모든 컨테이너 목록 확인(종료된 컨테이너 포함)
shell> docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cdfb9b9576cf ubuntu:latest "/bin/bash" 9 hours ago Up 4 minutes my_ubuntu_1 8426a724e439 httpd:2.4 "httpd-foreground" 11 hours ago Exited (0) 9 hours ago my-apache-app shell> |
2. 컨테이너 기동/종료/재시작
SYNTAX) docker [ start | stop | restrt ] <컨테이너이름 or 컨테이너_ID>
shell> docker stop my_ubuntu_1 => 컨테이너 종료 my_ubuntu_1 shell> docker start my_ubuntu_1 => 컨테이너 구동 my_ubuntu_1 shell> docker stop cdfb9b9576cf => 컨테이너 ID를 이용한 종료 cdfb9b9576cf shell> |
3. 컨테이너 삭제
3.1 선택 컨테이너 삭제
SYNTAX) docker rm <컨테이너이름 or 컨테이너_ID>
shell> docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cdfb9b9576cf ubuntu:latest "/bin/bash" 9 hours ago Exited (0) 2 minutes ago my_ubuntu_1 8426a724e439 httpd:2.4 "httpd-foreground" 11 hours ago Exited (0) 9 hours ago my-apache-app shell> docker rm my_ubuntu_1 my_ubuntu_1 shell> docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8426a724e439 httpd:2.4 "httpd-foreground" 11 hours ago Exited (0) 9 hours ago my-apache-app shell> |
3.2 모든 컨테이너 삭제
SYNTAX) docker rm `docker ps -a -q` => ps -a -q 는 container id 출력
- 컨테이너는 중지된 상태에서 삭제 가능
shell> docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 992f11789225 nginx:latest "nginx -g 'daemon of…" 17 seconds ago Exited (0) 8 seconds ago my_nginx_1 84fb47600ebd ubuntu:latest "/bin/bash" 3 minutes ago Exited (0) 2 minutes ago my_ubuntu_1 shell> shell> docker rm `docker ps -a -q` 992f11789225 84fb47600ebd shell> docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES shell> |
4. 컨테이너 이름 변경
SYNTAX) docker rename oldName newName
shell> docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d4b9a115eb3f nginx:latest "nginx -g 'daemon of…" 46 minutes ago Exited (0) 45 minutes ago my_nginx_1 shell> docker rename my_nginx_1 my_nginx_2 shell> docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d4b9a115eb3f nginx:latest "nginx -g 'daemon of…" 47 minutes ago Exited (0) 45 minutes ago my_nginx_2 shell> |
5. 컨테이너 세부 정보 출력
SYNTAX) docker inspect [OPTIONS] NAME|ID [NAME|ID...]
shell> docker inspect my_nginx_1 ===== 이하 생략 ===== |
6. 컨테이너 변경 내역 검사
- 컨테이너와 원본 이미지를 비교하여 변경된 파일,디렉토리 출력
심볼
- A : 파일 또는 디렉토리 추가됨
- D : 파일 또는 디렉토리 삭제됨
- C : 파일 또는 디렉토리 변경됨
shell> docker diff my_nginx_1 C /run A /run/nginx.pid C /var C /var/cache C /var/cache/nginx A /var/cache/nginx/scgi_temp A /var/cache/nginx/uwsgi_temp A /var/cache/nginx/client_temp A /var/cache/nginx/fastcgi_temp A /var/cache/nginx/proxy_temp shell> |
7. 기존 이미지를 이용하여 새로운 이미지 생성
7.1 현재 이미지 확인(예로 Debian 이미지를 사용)
shell > docker images REPOSITORY TAG IMAGE ID CREATED SIZE debian 10.3 971452c94376 4 weeks ago 114MB |
7.2 현재 이미지를 이용하여 container 생성후 vim(vi) 패키지 설치
shell> docker run -it --name myDebian debian:10.3 root@cc17ff8f2c36:/# vi testfile bash: vi: command not found => vim 패키지가 설치 되지 않아 vi를 실행할 수 없음 root@cc17ff8f2c36:/#apt update Get:1 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB] .... 중략 .... Get:6 http://deb.debian.org/debian buster-updates/main amd64 Packages [7380 B] Fetched 8336 kB in 8s (1047 kB/s) Reading package lists... Done Building dependency tree Reading state information... Done All packages are up to date. root@cc17ff8f2c36:/# apt -y install vim => vim 패키지 설치 Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: libgpm2 vim-common vim-runtime xxd Suggested packages: gpm ctags vim-doc vim-scripts The following NEW packages will be installed: libgpm2 vim vim-common vim-runtime xxd 0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded. Need to get 7425 kB of archives. After this operation, 33.8 MB of additional disk space will be used. Get:1 http://deb.debian.org/debian buster/main amd64 xxd amd64 2:8.1.0875-5 [140 kB] ..... 중략 ..... update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/editor (editor) in auto mode Processing triggers for libc-bin (2.28-10) ... root@cc17ff8f2c36:/#exit |
7.3 기존 컨테이너에서 신규 이미지 생성
- docker commit -옵션 <컨테이너이름 or 컨테이너 ID> <리파지토리이름>
shell> docker commit -a "Prodution FliedCat" myDebian mine/mydebianimage:v1 sha256:539322a5cf61255784a2583b1e87e501f87686ab609ff663e4883c5f15ac1422 shell> |
- -a, --author=””: 저자의 정보를 설정.
- -m, --message=””: 메시지를 설정
- -p, --pause=true: 이미지를 생성하는 동안 컨테이너를 일시 정지
7.4 신규 이미지에서 컨테이너 생성
shell> docker run -it --name myDebian2 mine/mydebianimage:v1 root@1ec07dcf8e83:/# vi testfile |
** vi가 정상적으로 실행되는지 확인한다.
7.5 신규 이미지 히스토리 확인
- docker history image
shell> docker images shell> docker history mine/mydebianimage:v1 |
'가상화 > Kubernetes' 카테고리의 다른 글
[Docker] swarm 모드에서 NFS 구성 (0) | 2020.01.10 |
---|---|
[Docker] Swarm 모드 구성 (0) | 2020.01.09 |
[Docker] Docker Root 디렉토리 변경 (0) | 2019.12.28 |
[Docker] Container 생성 (0) | 2019.12.26 |
[Docker] Docker 설치/삭제 - Linux (0) | 2019.12.26 |