본문 바로가기

Cloud/Doker

(4)
[docker] docker 볼륨 사용법 3가지 1. 컨테이너 볼륨 도커 이미지로 컨테이너를 생성하면 이미지는 읽기 전용이 되며 컨테이너의 변경 사항만 별도로 저장해서 각 컨테이너의 정보를 보존합니다. 아래와 같은 구조를 보입니다. 이미 생성된 이미지는 어떠한 경우로도 변경되지 않으며, 컨테이너 레이어에 원래 이미지에서 변경된 파일 시스템 등을 저장합니다. 이미지에 mysql을 실행하는 데 필요한 애플리케이션 파일이 들어있다면 컨테이너 레이어에는 워드프레스에서 쓴 로그인 정보나 게시글 등과 같이 데이터베이스를 운용하면서 쌓이는 데이터가 저장됩니다. 하지만 mysql 컨테이너를 삭제하면 컨테이너 레이어에 저장돼있던 데이터베이스의 정보도 삭제가 됩니다. 이를 해결하고자 볼륨을 활용하는 것입니다. 볼륨을 사용하는 방법에는 3가지가 존재합니다. 1. 호스트 ..
[docker] docker -it 와 -d 옵션의 차이점 -it(-i + -t)옵션은 컨테이너 내부로 진입하도록 attach 가능한 상태로 설정한다면 -d는 detached 모드로 컨테이너를 실행한다. detached 모드는 컨테이너를 백그라운드에서 동작하는 애플리케이션으로써 실행하도록 설정한다. 앞 글에서 우분투, centos 컨테이너를 생성한 것처럼 -it 옵션으로 run을 실행하면 표준 입출력이 활성화된, 상호작용이 가능한 셸 환경을 사용할 수 있다. 우분투나 centos 같은 이미지는 컨테이너가 실행될 때 /bin/bash가 실행되게 설정있다. docker ps로 COMMAND에 표시되는 /bin/bash가 여기에 해당된다. # docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3f56aa..
[docker] docker 어플리케이션 구동 컨테이너는 가상 머신과 마찬가지로 가상 IP를 할당받는다. 대역대는 172.17.0.0/24이고 순차적으로 할당을 받는다. 컨테이너를 생성하고 ifconfig 명령어를 사용하면 할당받은 IP를 확인할 수 있다. [root@localhost ~]# docker run -it --name network_test ubuntu:14.04 root@166ba94fe653:/# ifconfig eth0 Link encap:Ethernet HWaddr 02:42:ac:11:00:02 inet addr:172.17.0.2 Bcast:172.17.255.255 Mask:255.255.0.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:6 errors:0 dr..
[docker] Docker 시작 1. 도커란? 도커는 리눅스 컨테이너에 여러 기능을 추가함으로써 애플리케이션을 컨테이너로서 좀 더 쉽게 사용할 수 있게 만들어진 오픈소스 프로젝트이다. 1.1 차이점 가상머신은 각종 시스템 자원을 가상화하고 독립된 공간을 생성하는 작업은 하이퍼바이저를 반드시 거치기 때문에 일반 호스트에 비해 성능의 손실이 무조건 발생한다. 그리고 운영체제를 사용하기 위해 라이브러리, 커널등을 전부 포함하기 때문에 이미지의 크기가 크다. 그에 비해 도커 컨테이너는 가상화된 공간을 생성하기 위해 리눅스의 자체 기능인 chroot, namespace, cgroup을 사용함으로써 프로세스 단위의 격리 환경을 만들기 때문에 성능 손실이 거의 없다. 컨테이너에 필요한 커널은 호스트 OS의 커널을 공유해 사용하고 필요한 라이브러리 ..