본문 바로가기

개발/Docker

docker volume ( 도커 볼륨 ) 도커 볼륨 도커 이미지로 컨테이너를 생성하면 이미지는 읽기 전용이 되며 컨테이너의 변경 사항만 별도로 저장합니다. mysql의 경우 데이터베이스 등의 정보는 컨테이너가 갖고 있는 것입니다. 그렇기때문에, mysql 컨테이너를 삭제하면 컨테이너 계층에 저장돼있던 데이터베이스의 정보도 삭제된다는 점입니다. 이를 방지 하기 위해 컨테이너의 데이터를 영속적(persistent) 데이터로 활용할 수 있는 방법이 몇 가지 있습니다. 그중 가장 활용하기 쉬운 방법이 바로 볼륨을 활용하는 것입니다. 호스트와 볼륨을 공유할 수도 있고, 볼륨 컨테이너를 활용할 수도 있으며, 도커가 관리하는 볼륨을 생성할 수도 있습니다. 호스트 볼륨 공유 우선 mysql , 워드프레스 웹서버 컨테이너를 생성합니다. docker run -d.. 더보기
기본적인 도커 정리 (2) - 외부와의 연결, 네트워크, 웹서버 실습 컨테이너를 외부에 노출 컨테이너는 가상 머신과 마찬가지로 가상 IP 주소를 할당받습니다. 기본적으로 172.17.0.x 의 IP를 순차적으로 할당합니다. docker run -i -t --name network_test ubuntu:14.04 ifconfig 명령어를 통하여 컨테이너의 네트워크 인터페이스를 확인할 수 있습니다. 위에서 확인할 수 있듯이, 172.17.0.2 를 할당받았습니다. 아무런 설정을 하지 않았다면 이 컨테이너는 외부에서 접근할 수 없고, 호스트에서만 접근할 수 있습니다. 외부에 컨테이너의 어플리케이션을 노출하기 위해서는 eth0의 IP와 포트를 호스트의 IP와 포트에 바인딩해야 합니다. docker run -i -t --name mywebserver -p 80:80 ubuntu:1.. 더보기
기본적인 docker 명령어 (1) - 실행과 종료 컨테이너 생성 docker run 명령어는 컨테이너를 생성하고 실행하는 역할을 합니다. docker run -i -t ubuntu:14.04 -i, -t 옵션은 컨테이너와 상호 입출력을 가능하게 합니다. -i 옵션으로 상호 입출력을, -t 옵션으로 bash 쉘을 사용하도록 컨테이너를 설정합니다. ubuntu:14.04 이미지가 로컬 도커 엔진에 존재하지 않으면, 도커 허브에서 자동으로 이미지를 내려받습니다. 컨테이너 내부에서 빠져나오는 방법은 컨테이너 쉘에서 exit를 입력하거나, Ctrl + D ( MacOS control + D ) 를 동시에 입력하는 방법이 있습니다. 하지만 이 방법은 컨테이너 내부에서 빠져나오면서 동시에 컨테이너를 정지시킵니다. 하지만, Ctrl + P, Q를 입력하면 단순히 컨테.. 더보기
Mac OS brew를 통하여 docker 설치하기 brew install --cask docker 를 통해서 docker를 받는다. 그 후, application에 들어가면 docker가 생성되어 있을 것이다. 이렇게 생성된 docker를 실행하면 터미널에서 docker를 사용할 수 있게 된다. ( /usb/local/bin/docker 가 생성된다 ) 더보기