개요
구성환경
CentOS 7.6 / Docker-ce-19.03
Docker 컨테이너 생성
- docker에서 컨테이너는 이미지를 이용하여 컨테이너 생성
1. 이미지 다운로드 사이트에 접속후 다운로드 받고자 하는 이미지 선택
https://hub.docker.com/search?q=&type=image
2. 이미지 다운로드(여기서는 ubuntu를 예로 하겠다)
- 우측 상단에 IMAGE 설치 명령어를 복사해서 사용, Tag를 사용하지 않으면 latest가 자동으로 적용됨
- Tag를 이용하고자 받고자 한다면 이미지이름:Tag명을 함께 붙여서 사용
* Tag는 일반적으로 버전명이 사용됨
예) shell> docker pull ubuntu:14.04
2.1 ubuntu 이미지 다운로드
shell> docker pull ubuntu Using default tag: latest latest: Pulling from library/ubuntu 2746a4a261c9: Pull complete 4c1d20cdee96: Pull complete 0d3160e1d0de: Pull complete c8e37668deea: Pull complete Digest: sha256:250cc6f3f3ffc5cdaa9d8f4946ac79821aafb4d3afc93928f0de9336eba21aa4 Status: Downloaded newer image for ubuntu:latest docker.io/library/ubuntu:latest shell> |
2.2 다운받은 이미지 확인
shell> docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu latest 549b9b86cb8d 7 days ago 64.2MB postgres latest 4a82a16ee75c 3 weeks ago 394MB httpd 2.4 2ae34abc2ed0 3 weeks ago 165MB mysql latest d435eee2caa5 4 weeks ago 456MB nginx latest 231d40e811cd 4 weeks ago 126MB shell> |
2.3 단일 이미지 삭제
Usage : docker image rm <IMAGE ID>
2.4 모든 이미지 삭제
Usage : docker rmi $(docker images -q) -f
** docker image -q : 이미지 ID 출력
** 해당 이미지가 컨테이너에서 사용중일 때는 삭제 할수 없음
3. 컨테이너 생성
3.1 docker run command : 컨테이너 생성과 동시에 컨테이너 구동이 이루어짐
SYNTAX) docker run <OPTIONS> --name <컨테이너이름:사용자지정> <이미지이름:Tag>
옵션)
-i : ineractive
-t : tty
-d : background
shell> docker run -itd --name my_ubuntu_1 ubuntu:latest root@cdfb9b9576cf:/# cat /etc/issue => 컨테이너의 우분투 버전 확인 root@cdfb9b9576cf:/# |
3.2 docker create command : 컨테이너만 생성
SYNTAX) docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
옵션)
--rm : 만약 동일 이름의 컨테이너가 존재한다면 기존 컨테이너 삭제후 생성
shell> docker create -it --rm --name my_ubuntu_2 ubuntu:latest 68374efce6bf55985a45bdde689c60880ae4ff40141972124c1abc01d43d4b55 shell> docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 68374efce6bf ubuntu:latest "/bin/bash" 6 seconds ago Created my_ubuntu_2 9e253b30fe11 ubuntu:latest "/bin/bash" 10 hours ago Up 10 hours my_ubuntu_1 d4b9a115eb3f nginx:latest "nginx -g 'daemon of…" 12 hours ago Exited (0) 18 minutes ago my_nginx_1 shell> docker start my_ubuntu_2 => 컨테이너 구동 my_ubuntu_2 shell> docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 68374efce6bf ubuntu:latest "/bin/bash" 30 seconds ago Up 3 seconds my_ubuntu_2 9e253b30fe11 ubuntu:latest "/bin/bash" 10 hours ago Up 10 hours my_ubuntu_1 d4b9a115eb3f nginx:latest "nginx -g 'daemon of…" 12 hours ago Exited (0) 18 minutes ago my_nginx_1 shell> |
3.3 docker container 삭제
SYNTAX) docker rm <container id / container name>
shell> docker rm my_ubuntu_2 my_ubuntu_2 |
3.4 컨테이너 기동/종료
SYNTAX) docker [start | stop] <컨테이너이름 or 컨테이너 ID>
shell> docker stop my_ubuntu_1 |
4. docker image offline 설치
단계)
(1) 온라인에서 docker save 명령어로 이미지 저장(tar 아카이브)
(2) 저장된 이미지를 CD,USB로 오프라인으로 이동
(3) 오프라인에서 저장된 이미지 로드
1. 온라인 shell> docker images
shell> docker images shell> docker load -i httpd_2.4.tar => 이미지 로드 |
** gzip을 사용하여 .tar.gz으로 저장
shell> docker save httpd:2.4 | gzip > httpd_2.4.tar.gz |
'가상화 > 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.27 |
[Docker] Docker 설치/삭제 - Linux (0) | 2019.12.26 |