본문 바로가기

GitOps/Docker

(5)
[Docker] 도커 네트워크 도커 네트워크기본 개념은 이 글에서docker network는 DNS resolution을 제공하여 컨테이너 이름(및  ID)을 자동으로 IP 주소로 변환함.관련 명령어docker network ls: 네트워크 목록 확인 (표준 설치된 3개의 기본 네트워크가 존재)docker network inspect : 네트워크 구성 세부 정보docker network create --driver : 사용자 지정 네트워크 생성브릿지 네트워크docker run에서 네트워크를 지정하지 않으면 기본적으로 docker0 bridge로 설정브릿지 드라이브로 생성된 모든 네트워크는 linux bridge라고 함네트워크 확인# network 확인docker network ls# linux bridge를 확인하기 위해 bridg..
[Docker] 웹사이트 배포 웹 사이트 배포 예제해당 프로젝트를 fork하여 사용하였습니다. # git으로 프로젝트 clone 및 경로 이동git initgit clone cd linux_tweet_app# 환경 변수로 도커 ID를 저장해서 간편하게 사용 (안해도 됨)export DOCKER_ID=# 프로젝트를 기반으로 이미지 빌드. 이미지 이름은 DockerID/애플리케이션 이름/버전이 관례인듯 함docker image build --tag $DOCKER_ID/linux_tweet_app:1.0 .# -d(--detach)로 생성된 이미지를 백그라운드에서 실행. # -p(--publish)로 외부 네트워크 8080포트에서 들어오는 입력을 내부 컨테이너 80포트로 포트포워딩docker run -d -p 8080:80 --name l..
[Docker] 이미지 이미지기본 개념은 이 글에서관련 명령어docker image tag : 이미지 이름 지정docker container commit : 컨테이너로부터 이미지 생성docker image pull : image를 regstry로부터 pulldocker image ls: 이미지 목록 확인기존 컨테이너로 이미지 생성 예제# 컨테이너 실행docker run -it ubuntu /bin/bash# ubuntu에 figlet 설치 (컨테이너 내부에서 실행하는 명령어)apt-get updateapt-get install -y figletexit# 컨테이너를 통해 이미지 생성docker container commit # 생성된 이미지 태그 지정docker image tag figlet Dockerfile이미지를 빌드하..
[Docker] 컨테이너 컨테이너기본 개념은 이 글에서컨테이너 실행docker engine이 이미지를 로컬에서 탐색있으면 실행하고, 없으면 docker registry 탐색기본 registry인 docker hub에서 동명의 이미지를 내려 받음컨테이너 실행관련 명령어docker container run : 이미지를 컨테이너화하고 명령어를 실행docker container start (or ): 특정 컨테이너를 시작함.docker container ls: 실행 중인 컨테이너 목록 확인docker ps: 위 명령어와 동일docker container ls -a: 실행됐던 모든 컨테이너 목록 확인docker container exec (or ) : 특정 컨테이너에 명령어를 실행참고docker container로 된 명령들은 cont..
[Docker] 개념 Docker의 등장 이유구성 요소 배포가 어려움동일 서비스를 여러 서버에 마이그레이션하는 경우서비스 간 상호작용이 많아 전부 설정해줘야 함. (front, back, db 등)동일 서비스에 대해 HW(운영체제)별로 설치 방식이 다를 수 있어 복잡함도커서비스와 HW 사이에서 규격화된 컨테이너를 제공규격화된 컨테이너로 모든 운영 체제에서 동일한 동작을 보장컨테이너에 모든 종속성이 포함됨동일 호스트의 다른 컨테이너끼리는 OS 커널을 공유하여 가벼움. (VM과의 차이)VM과의 차이동일한 OS 위에서 돌아가는가?VM은 하이퍼바이저 위에서 개별적인 OS를 갖는 머신들이 돌아가므로 무겁다.컨테이너는 하드웨어의 OS 위의 도커 엔진 위에서 돌아가므로 동일한 OS를 공유함. 그러므로 가볍고, 더 많은 가상화가 가능함.추..