BackEnd/docker
-
도커 네트워크(Docker Network)BackEnd/docker 2022. 3. 9. 10:41
도커는 각 컨테이너에 외부와의 네트워크를 제공하기 위해 컨테이너마다 가상 네트워크 인터페이스를 호스트에 생성하며 이 인터페이스의 이름은 veth(virtual eth)로 시작합니다. veth 인터페이스는 사용자가 직접 생성할 필요는 없으며 컨테이너가 생성될 때 도커 엔진이 자동으로 생성합니다. 도커가 설치된 호스트에서 ifconfig나 ip addr과 같은 명령어로 네트워크 인터페이스를 확인하면 실행 중인 컨테이너 수만큼 veth로 시작하는 인터페이스가 생성된 것을 알 수 있습니다. (mac이나 window OS에서는 docker0 브릿지나 veth 인터페이스들이 VM 안에 있기 때문에 확인할 수 없습니다.) eth0: 공인 IP 또는 내부 IP가 할당되어 실제로 외부와 통신할 수 있는 호스트의 네트워크..
-
도커 볼륨(Docker Volume)BackEnd/docker 2022. 3. 6. 12:15
도커 이미지로 컨테이너를 생성하면 이미지는 읽기 전용이 되며 컨테이너의 변경 사항만 별도로 저장해서 각 컨테이너 정보를 보존합니다. 이미 생성된 이미지는 어떠한 경우로도 변경되지 않으며, 컨테이너 계층에 원래 이미지에서 변경된 파일시스템 등을 저장합니다. 도커의 컨테이너는 생성과 삭제가 매우 쉬우므로 실수로 컨테이너를 삭제하면 데이터를 복구할 수 없게 됩니다. 이를 방지하기 위해 컨테이너의 데이터를 영속적(Persistent) 데이터로 활용할 수 있는 방법 중 하나가 도커 볼륨입니다. 호스트 볼륨 공유 이전 예제에서 데이터베이스 컨테이너 생성 시 -v 옵션을 추가하면 됩니다. -v /home/wordpress_db:/var/lib/mysql는 호스트의 /home/wordpress_db 디렉터리와 컨테이너..
-
도커 컨테이너(Docker Container)BackEnd/docker 2022. 3. 6. 11:07
컨테이너 생성 run 명령어 run 명령어를 입력하면 도커 이미지가 로컬 도커 엔진에 존재하지 않으므로 도커 중앙 이미지 저장소인 도커 허브에서 자동으로 이미지를 내려받습니다. 단 한 줄의 docker 명령어로 컨테이너를 생성 및 실행과 동시에 컨테이너 내부로 들어왔습니다. 셸의 사용자와 호스트 이름이 변경된 것(root@c3a41b157876)이 컨테이너 내부에 들어와 있다는 것을 나타냅니다. 컨테이너에서 기본 사용자는 root이고 호스트 이름은 무작위의 16진수 해시값입니다. $ docker run -i -t ubuntu:14.04 Unable to find image 'ubuntu:14.04' locally 14.04: Pulling from library/ubuntu 2e6e20c8e2e6: Pu..
-
도커 엔진(Docker Engine)BackEnd/docker 2022. 2. 26. 10:20
도커 엔진에서 사용하는 기본 단위는 이미지와 컨테이너이며, 이 두가지가 도커 엔진의 핵심입니다. 도커 이미지(Docker Image) 이미지는 컨테이너를 생성할 때 필요한 요소이며, 컨테이너를 생성하고 실행할 때 읽기 전용으로 사용됩니다. 이미지는 도커 명령어로 내려받을 수 있으므로 별도로 설치할 필요는 없습니다. 도커에서 사용하는 이미지 이름은 기본적으로 [저장소 이름]/[이미지 이름]:[태그]의 형태로 구성됩니다. [저장소 이름]: (Repository) 이미지가 저장된 장소를 의미합니다. 저장소 이름이 명시되지 않은 이미지는 도커에서 기본적으로 제공하는 이미지 저장소인 도커 허브(Docker Hub)의 공식(Official) 이미지를 뜻합니다. [이미지 이름]: 해당 이미지가 어떤 역할을 하는지 나..
-
도커(Docker)BackEnd/docker 2022. 2. 26. 09:58
Overview 도커(Docker) 카테고리는 아래 책을 학습하며 커스터마이징합니다. 도커(Docker)란 리눅스 컨테이너에 여러 기능을 추가함으로써 애플리케이션을 컨테이너로서 좀 더 쉽게 사용할 수 있게 만들어진 오픈소스 프로젝트입니다. Go 언어로 작성되어 있으며, 2013년 3월 첫 번째 릴리스가 발표된 이후 지금까지 꾸준히 개발되고 있습니다. 컨테이너를 이미지로 만들어 배포하는 시간이 가상 머신에 비해 빠르며, 가상화된 공간을 사용할 때의 성능 손실도 거의 없다는 장점이 있습니다. 도커를 시작해야 하는 이유 애플리케이션의 개발과 배포가 편해집니다. 여러 애플리케이션의 독립성과 확장성이 높아집니다. 도커 엔진 설치 도커 EE(Docker Enterprise Edition): 유료로 제공되는 기업용 ..