본문 바로가기

IT 엔지니어/CLOUD

(21)
Docker yml DB 환경 변수MonggoDB와 mongo-express 웹 UI를 Docker로 연결 후 실행Container 간 통신, 환경 변수 사용, 포트 매핑 실습웹 접속이 안 돼서 수십 번 삭제했다가 재실행하고 성공했다. 아직 그냥 줄바꿈 하지 말고 한 줄로 쓰는 게 안전하다..​[ DOCKER NETWORK 생성 ]Container끼리 통신할 수 있도록 하나의 가상 Network(daminet) 생성이후 --network=daminet으로 두 Container가 같은 Network에 들어가게 됨# docker network create [Network명] # docker network create daminet​[ MONGODB CONTAINER 실행 ]백그라운드 실행, 시스템 재시작 시 자동 재실행, 위에..
Docker Registry DOCKER LOCAL REGISTRYREGISTRY (= 저장소)Docker Image를 저장하고 배포하는 서버 / 저장소만든 Image를 올려두고, 필요할 때 다른 서버나 개발 환경에서 끌어다(pull) 수 있게 해주는 저장소,local Regisrty(저장소)에 등록시 pull 사용PUSHImage를 만들고 Registry에 업로드PULLRegistry에서 Image 다운로드​LOCAL REGISTRY 이용도Loacl 환경에서 직접 Registry Container를 띄우면 개인용 Docker Hub처럼 사용 가능인터넷 없이 Imahe 저장 / 배포 가능회사 내부망에서만 도는 앱 배포 용이보안상 외부 Regisrty 사용이 불가능할 때빠른 Test 및 캐시 목적DOCKER LOCAL REGISRT..
Docker image build 소스코드(100MB)개발도구(500MB)애플리케이션(5MB)single-stage / mutlti-stage싱글 스테이지 빌드 (Single-stage build)한 Dockerfile 안에서 이미지 한 개만 만들어서 그걸 그대로 사용.빌드 도구, 중간 파일, 임시 디펜던시 등도 이미지에 포함돼서 용량이 커지고 보안 이슈도 생길 수 있어.📦 예시FROM node:18WORKDIR /app = 이동 명령COPY . .RUN npm installRUN npm run buildCMD ["node", "dist/index.js"]🔻 문제점npm install, npm run build에 필요한 도구들이 최종 이미지에도 남음.이미지가 커지고, 불필요한 파일 포함될 수 있음.🔹 멀티 스테이지 빌드 (Multi..
Docker [생성한 이미지로 컨테이너 생성]docker create --name test1 httpdError response from daemon: no command specified[Dockerfile 생성]# DockerfileFROM httpdCMD ["httpd-foreground"][Dockerfile 실행]docker build -t Dockerfile .[첫번째]docker create --name test1 httpd-----------------------------[두번째]docker create --name test1 httpd httpd-foregroundc953d6af65092cae3513766bb6d42e3518c00c3c5824cdf29ea626b685c3b41c현재 디렉터리 안에 D..
Docker image [이미지 태그 생성]docker image tag [image name] [Docker ID]/[name]:versiondocker image push [Docker ID]/[name]:version[이미지 생성]docker container export / 파일 및 디렉터리를 호스트로 tar파일로 생성docker image import / 호스트 tar 파일 이용 이미지 생성tar -xvf myweb.tar -C /var/www/------------------------------docker container commit / 이미지 생성docker image save / 이미지를 호스트에 tar 파일로 저장docker image load / 호스트에 tar 이미지 파일 이용 이미지 생성 docker ..
Docker Resource Limit 메모리 제한docker run --rm -m 100m --memory-swap 100m mystress \\ stress --vm 1 --vm-bytes 95m -t 30s메모리 할당기 1개로 95mb 점유m 100m: 메모리 제한-memory-swap 100m: 스왑 사용 안 함-vm-bytes: 메모리 점유CPU 제한docker run --rm --cpus="0.5" stress \\ stress --cpu 1 -t 30s-cpus="0.5": 최대 CPU 사용 비율 제한CPU share 방식:docker run -d --cpu-shares=512 ubuntu sleep 300docker run --rm --cpus="0.3" stress\\ stress --cpu 2 -t 30sCPU 2개를 3..
Docker -1 docker0 = 도커의 Gatewaydocker network create (-d bridge) br1docker network create -d host --subnet 192.168.10.0/24 --gateway 192.168.10.1 br1docker network create br0 / bridge=default[Attach / Detach]docker attach [컨테이너명] - 진CTRL + P / Q / Cdocker exec 명령 실행까지 진행 docker run -it --name myweb ubuntu bashdocker exec [컨테이너명] touch /tmp/test.txtdocker exec [이름] ls /tmpdocker exec [이름] ps aux** 꿀팁 **do..
Docker Network 심화 [Network]docker network ls[FILTERING]docker network ls --filter driver=bridge--filter scope=local[Detail]docker network ls --no-truncNETWORK ID NAME DRIVER SCOPE86a7d65c511b15434f7d64de7dbda022f364a5ec374ebd603fff18882e424754 bridge bridge local00f9d8aed7e1312c6b9f5ee221a521d977ba0d31491f81f0366a0a15ea82a03c host ..