DevOps BootCamp/도커 7

로컬 호스트와 컨테이너 통신

► 로컬 호스트와 컨테이너 통신하기 컨테이너와 로컬 호스트가 통신 하지 않는 다는 사실을 알 수 있다. > 따라서 database 코드를 수정해 주어야 한다. 도커 컨테이너 내부에서 알 수 있는 호스트 머신 ip 주소로 변환 해 주어야 한다 ► 컨테이너 간 통신 1. > 하지만 첫 번쨰 방법은 주소를 하드코딩 해 주어야 해서, 컨테이너의 IP 주소가 바뀌면 계속 바꾸어 주어야 한다. Docker Networks 소개: 우아한 컨테이너 간 통신 1. network 컨태이너 만들기 > docker network create 2. network 컨테이너와 다른 컨테이너를 연결 3. js 코드로 가서 connect 부분에서 호스트 부분을 수정해 준다 4. 다시 build 5. docker container를 실..

컨테이너 - 볼륨과 환경 변수

익명 볼륨 제거하기 > 컨테이너가 제거되면, 익명 볼륨이 자동으로 제거 > '--rm' 옵션으로 컨테이너를 시작/실행할 때 발생 > 옵션 없이 컨테이너를 시작하면, 컨테이너를 (docker rm...으로) 제거하더라도 익명 볼륨은 제거되지 않음 > 그래도 컨테이너를 다시 만들어, 다시 실행하면(즉, docker run... 다시 실행), 새 익명 볼륨이 생성 > 즉, 익명 볼륨이 자동으로 제거되지 않았지만, 다음에 컨테이너가 시작될 때, 다른 익명 볼륨이 연결되기 때문에, 이전 컨테이너를 제거하고 새 컨테이너를 실행하는데 도움이 되지 않음 > 사용하지 않는 익명 볼륨이 쌓이기 시작 > 'docker volume rm VOL_NAME' 또는 'docker volume prune'을 통해 그러한 볼륨을 삭제..

도커 푸시하기

[ Docker image 조회 ] docker images [ Docker image 실행 - 컨테이너 생성 ] docker run -d -i -t --name [생성할 컨테이너 name 설정] -p [ host port : container port ] [ image name or ID] [ Docker container 조회 ] docker ps [ Docker container 안으로 들어가기 ] docker exec -it [ Container Name or ID ] [ shell ] [ Docker container 현 상태를 images 로 만들기 ] docker commit -m [image 설명] -a [ 사용자 mail ] [ container Name or ID ] [ 생성할 imag..

두 개의 도커 이미지 다루기

gangseyun@gangseyun-ui-MacBookAir docker % docker-compose up -d [+] Running 2/2 ✔ Container client Started 0.6s ✔ Container server Running 0.0s > 두 개의 이미지를 컨테이너로 만들어 백그라운드에서 실행함 docker-compose down > 두 개의 이미지로 만든 컨테이너 종료 docker-compose up {특정 이미지} > 특정 이미지만 컨테이너로 실행 ► 위의 명령어들은 docker-compose.yaml 파일을 기반으로 실행 > 볼륨(volume) 또는 논리 드라이브(logical drive)는 하나의 파일 시스템을 갖춘 하나의 접근 가능한 스토리지 영역 > 일반적으로(꼭 필수는 ..

왜 도커인가?

컨테이너 방식의 장점 ➡️ 의존성 충돌 문제를 해결해 준다 개발과 배포 환경을 일치시킨다 수평 확장을 쉽게 해 준다 각 서버에 새로운 내용을 배포하기 쉽게 만들어준다 어떤 애플리케이션은, 해당 애플리케이션을 실행하기 위해 반드시 어떤 환경이 구축되어 있어야 함 [이미지] 윈도에서 어떤 애플리케이션을 설치하다 보면,. NET Framework를 설치해야 한다는 문구를 종종 볼 수 있음. > 어떤 프로그램(A) 실행에 다른 프로그램(B)이 반드시 필요한 경우, "프로그램 A는 프로그램 B에 의존 관계를 가지고 있다"라고 한다 > 예를 들어, 워드프레스(wordpress)라는 프로그램이, php라는 프로그램에 대해 의존 관계를 가질 때에, 특정 php 버전을 요구하는 경우가 생길 수 있음 > 동일한 컴퓨터에 ..

도커 컨테이너 차트 시트

/* sudo docker start {name} */ - 종료된 컨테이너 재실행 sudo docker start -d b1f5e820f02a - -d(datch) 로그 시행 안됨 sudo docker attach b1f5e820f02a - 종료된 컨테이너에 연결 sudo docker logs -f goofy_swartz - 컨테이너 log 데이터를 보여줌 sudo docker start -a goofy_swartz - ‘-a’(attach) 옵션으로 바로 연결 가능 이미 실행 중인 컨테이너에 연결하기 디폴트로 '-d' 없이 컨테이너를 실행하면, "attached모드"로 실행 > 이는 CONTAINER라는 ID 또는 이름으로 실행 중인 컨테이너에 연결 FROM python WORKDIR /app COPY..

도커 - 기본 원리

도커 > 컨테이너 기술 > 컨테이너를 생성하고 관리하기 위한 기술 > 코드를 사용하는데 필요한 종속성과 도구가 포함 > 서로 다른 환경에서 프로그램이 실행되도록 최신 버전을 고정시킴 가상 머신 vs Docker 컨테이너 ★ 가상 머신(Virtual Machine) > Windows, macOS, Linux -> 위에 설치 > 가상 운영 체제에서 오버헤드 발생 > 메모리,CPU, 하드 드라이브에 낭비 발생 > 분리된 환경, 환경별 구성, 안정적으로 공유 재생산 > 메모리 낭비, 성능 저하, 모든 시스템에 버추얼 머신 설정 ★ 도커 > 별도의 운영체제 설치x > 내부 컨테이너에서 작동 > 도커 엔진 > 컨테이너 > 구성 파일을 작성하여 설명할 수 있음