일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- AI
- docker
- GIT
- 3티어 아키텍처
- AI챗봇
- 함수
- 리눅스
- python
- git hub
- 명령어
- 애저
- maven
- it기사
- aws사용자모임
- 사용자 계정 관리
- go
- open ai
- AWS
- nexus
- jenkins
- dockerfile
- 파이썬
- awskrug
- 변수
- Linux
- Azure
- 표준 라이브러리
- 클라우드
- 프로세스 관리
- terraform
- Today
- Total
목록docker (12)
We are Architect
* 컨테이너 API 이란?컨테이너 API는 컨테이너를 블랙박스처럼 다룰 수 있게 해주는 인터페이스이다. 먼저 API는 애플리케이션 인터페이스라고 하며. 인터페이스는 본래 케이프이나 하드웨어 규격을 의미한다.이렇듯 API는 애플리케이션들을 연결하기 위해서 지켜줘야 할 규격이라고 생각하면 된다. * 컨테이너 API의 종류와 개요.애플리케이션의 특성에 맞게 API를 선택하여 구현해야 한다. 컨테이너 API 목록컨테이너 기동 : 컨테이너 내의 애플리케이션은 기동 시에 환경 변수나 실행 인자를 읽어서 그에 맞게 동작하게 만들 수 있다.헬스 체크 : 컨테이너의 애플리케이션이 초기화가 완료되어 외부로부터의 요청을 받을 수 있게 되었음을 알리는 인터페이스이다. 컨테이너 종료 : 컨테이너 내의 애플리케이션은 종료 요..
* 도커를 사용하다 보니까 자꾸만 노트북 용량이 부족한 걸 깨달았다... 그래서 뭐가 문제인가 살펴보았다. * 가상화 환경인 WSL 2에서 docker 엔진이 작동하고 있었고 docker 설정 또한 WSL을 수정해야 했었다. * 해서 나는 도커의 무분별한 디스크 침공을 막고자 도커가 사용할 수 있는 리소스 자원을 제한을 두었다.C:\Users\사용자\wslconfig 폴더 안에서 .wslconfig 파일을 만들어 줬다. 이렇게 하여 리소스 사용에 제한을 걸어두었다. 특히 메모리 ㅡㅡ...
* 컨테이너 네트워크와 포트 공개 방법실행 중인 컨테이너는 IP 주소를 할당받아 컨테이너 간 통신이 가능하다.또한 같은 컨테이너 네트워크를 통해서 애플리케이션과 DB를 연결하는 것도 가능하다.* 컨테이너 네트워크 도커 허브에 등록된 많은 애플리케이션들이 docker network를 사용해 컨테이너를 연동할 것을 안내하고 있다.컨테이너 네트워크 커맨드설명docker network ls컨테이너 네트워크를 리스트로 표시.docker network inspect네트워크명을 지정해서 자세한 내용을 표시.docker network create컨테이너 네트워크를 생성.docker network rm컨테이너 네트워크를 삭제.docker network connect컨테이너를 컨테이너 네트워크에 접속docker netwo..
* Docker file 작성법Dockerfile 치트 시트커맨드설명FROM :컨테이너의 베이스 이미지를 지정.RUN RUN ["", "", ""]FROM의 베이스 이미지에서 커맨드를 실행.ADD ADD ["", ..."> "]소스(파일, 디렉터리, tar파일, URL 경로)를 컨테이너 경로에 복사.COPY COPY ["",..." 컨테이너 경로>"]소스 (파일, 디렉터리) 를 컨테이너 내 경로에 복사ENTRYPOINT ["","",""] >>> 쉘사용 필요X ex) ["/bin/sleep", "10" ]ENTRYPOINT 커맨드 파라미터1 파라미터2 >>>(쉘 형식)컨테이너가 실행될때 명령어와 파라미터를 배열 형식으로 지정. 컨테이너가 실행될때 명령어와 파라미터를 쉘 형식으로 지정.ENV EN..
* 이미지 빌드 개요컨테이너 이미지는 어떻게 만들어지는가에 대해서 알아보자.우선 도커 이미지를 만들기 위해서는 dockerfile에 docker build [옵션] [경로] 를 사용하면 된다. * 이미지 빌드 개요 - 베이스 이미지 선택이미지를 만들 때에 바탕이 되는 이미지를 베이스 이미지라고 한다. 베이스 이미지에는 리눅스의 공유 라이브러리, 동적 링크나 로드에 필요한 기초 파일들이 포함된다. 이를 기반으로 사용자 이미지를 만들게 된다. * 이미지 빌드 개요 - 소프트웨어 패키지 설치애플리케이션 실행에 필요한 소프트웨어 패키지를 설치한다. 주로 운영체제나 프로그래밍 언어의 패키지 매니저를 사용해서 설치하게 된다. dockerfile에 설치 스크립트를 기재하면 베이스 이미지 위에 소프트웨어 패키지가 ..
* 대화형 모드로 컨테이너 기동 및 정지컨테이너 안에 접속하고 싶다면 다음과 같이 실행하면 된다.그럼 shell로 접속하게 된다.나가는 건 exit# bash 로 접속docker exec -it bash # sh 로 접속docker exec -it sh * 백그라운드에서 사용하기 만약에 컨테이너를 실행시키고 작업을 해당 cli로 계속해야 한다면 -d 옵션을 사용하자.예를 들어 nginx 서버를 백그라운드에서 작동 시킬려면docker run -d -p 8080:80 --name test-nginx-server nginx 이라고 입력하자.* 볼륨 마운트 하기컨테이너 안에 데이터를 저장하기에는 컨테이너가 너무 무거워진다. 그러면 부팅 시간도 오래 걸리고 컨테이너가 오류가 생기면 안에 있는 데이터 또한 위..
* Hello world 실행코딩을 처음 할 때 보통 'Hello world'부터 시작한다. 컨테이너에도 'Hello world' 를 출력해 주는 컨테이너가 존재한다.도커 이미지는 운영체와 소프트웨어를 담고 있는 컨테이너 실행 이전 상태의 파일이다.이미지는 리포지터리:태그 로 식별된다.cmd 창을 켜고 docker run hello-world를 입력해 보자. * 이미지 다운로드 이번에는 이미지를 다운로드 받아보자.대상은 ceontos:7이다.명령어는 docker pull ceontos:7이다. * 컨티에너 실행 받아온 이미지를 컨테이너로 만든 다음에 bash로 접속해 보자.명령어는 docker run -it --name test centos:7 bash이다.이때 -i는 키보드 입력을 컨테이너 입력에 연..
* 컨테이너의 생명주기컨테이너는 상태기반으로 동작한다. 컨테이너가 생성되고 종료되기까지의 상태와 전환 과정을 생명주기 라고 한다.컨테이너의 상태주기는 다음과 같다. Created :컨테이너가 이미지를 기반으로 생성되었지만, 아직 실행되지 않은 상태. 이 상태에서는 컨테이너의 설정만 완료된 상태로, 프로세스는 시작되지 않았음. Running : 컨테이너가 실행되어 내부의 애플리케이션이나 프로세스가 동작 중인 상태.이 상태에서 컨테이너는 정상적으로 동작하며, 외부 요청을 처리하거나 작업을 수행할 수 있음. Paused : 실행 중인 컨테이너가 일시 정지된 상태로, 프로세스는 그대로 있지만 동작이 멈춰있음.CPU와 메모리 자원을 소모하지 않고 대기 상태로 유지.아직 컨테이너 안에 메모리가 할당되어 있음. St..
* 도커 커맨드 치트 시트치트 시트는 필요한 명령어를 빠르게 찾을 수 있도록 정리한 표이다. * 도커 환경 표시커맨드 실행설명docker version도커 클리언트와 서버 버전표시docker info구체적인 환경 표시 * 컨테이너 이미지 빌드커맨드 실행 예설명docker build -t 리포지터리:태그 . docker image build -t 리포지터리:태그 .현 디렉터리에 있는 dockerfile을 바탕으로 이미지를 빌드docker imagesdocker image ls로컬 이미지 목록docker rmi 이미지docker image rm 이미지로컬 이미지 삭제docker rmi -f 'docker images -aq'docker image prune -a로컬 이미지 일괄 삭제 * 이미지의 이동과..
* 도커의 아키텍처 도커는 컨테이너의 실행뿐만 아니라 다양한 기능을 제공한다. 물론 리눅스로도 컨테이너를 만들고 실행할 수 있지만 도커가 제공하는 기능이 더욱 개발에 있어서 사용자들에게 편리함을 준다.이러한 기능을 제공하는 도커는 도커 데몬 서버와 클라이언트 도커 커맨드, 그리고 이미지 보관소인 레지스트리로 구성된다. * 도커 아키텍처의 구성요소도커 데몬 : 클라이언트로부터 명령을 받아서 이미지, 컨테이너, 네트워크, 볼륨등을 관리하는 프로세스.도커 클라이언트 : 컨테이너 호스트에게 명령을 내리는 주체.이미지 : 컨테이너의 템플릿을 말한다. 컨테이너를 실행하기 위한 필요 파일들.이미지는 다른 이미지를 기반으로 만들어진다. 그리고 Dockfile이라는 요청 명령서에 따라서 만들어진다.하나의 이미지로 여러..