일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- docker
- 알고리즘
- guru
- AWS
- 러스트
- Container
- Thread
- RabbitMQ
- 이더리움
- rust
- 전문가를 위한 파이썬
- function
- BlockChain
- Fast API
- IMAGE
- 백준
- Algorithm
- dockerfile
- 파이썬
- 코어 이더리움 프로그래밍
- fluent python
- 플랫폼
- BAEKJOON
- Refactoring
- 동시성
- Ethereum
- Network
- Python
- Kubernetes
- 블록체인
- Today
- Total
글쓰기 | 방명록 | 관리 |
목록docker (9)
Victoree's Blog
Docker는 Virtual machine이 아니다! $ docker run --name ubuntu_test ubuntu 위 명령어를 실행시켜보면, 쉘창에서는 아무 변화없고 우분투 서버도 실행되지 않고 있다 $ docker ps -a d8f31b2635d9 ubuntu "/bin/bash" 19 seconds ago Exited (0) 17 seconds ago ubuntu_test Status가 "Exited"임을 볼 수 있다 도커 컨테이너는 Virtual Machine과 같이 하나의 온전한 서버를 제공하는 것이 아니라 명령을 실행하는 환경만 제공하고 그 명령을 실행할 뿐이다 우분투 컨테이너 실행 시, 서버를 실행시키는 것이 아니라 "/bin/bash"가 실행되는 것 일반적으로 OS를 실행시킨다? 기..
Docker Compose Docker Compose란? docker compose란 다중 컨테이너 도커 어플리케이션을 정의하고 실행하기 위한 도구 컨테이너를 이용한 서비스의 개발과 CI를 위해 여러 개의 컨테이너를 하나의 프로젝트로서 다룰 수 있는 작업 환경을 제공 여러 컨테이너의 옵션과 환경을 정의한 파일을 읽어 순차적으로 컨테이너를 생성함 $ docker-compose up Docker Compose 파일 작성하기 yml이 무엇일까 YAML ain't markup language의 약자 일반적으로 구성 파일 및 데이터가 저장되거나 전송되는 응용프로그램에서 사용됨 XML이나 json 포맷으로 많이 쓰였으나, 좀더 가독성있는 포맷으로 나타난게 yaml임 docker-compose.yml $ do..
DockerDemon 도커 데몬 명령어 # service docker start # service docker stop 우분투 도커 설치시 자동으로 서비스 등록됨 호스트가 재시작되더라도 자동 실행 레드햇 계열 자동 실행으로 설정되지는 않음 $ systemctl enable docker 수행 시, 자동으로 서비스 활성화됨 도커 서비스는 dockerd로 데몬을 실행함 /usr/bin/dockerd에 명령어가 존재함 API listen on /var/run/docker.sock 소켓이 입력을 받을 수 있는 상태가 되었음을 뜻함 도커 데몬 설정 도커 데몬 제어 : -H 기본 설정 docker demon 실행 시 도커 클라이언트(/usr/bin/docker)를 위한 유닉스 소켓인 "/var/run/docker.s..
Dockerfile 이미지 생성 방법 기본 플로우 아무것도 존재하지 않는 이미지(우분투, CentOS 등)로 컨테이너를 생성 어플리케이션을 위한 환경을 설치하고, 소스코드 등을 복사해 잘 동작하는 것을 확인 컨테이너를 이미지로 커밋 위 방법은 어플리케이션 동작 환경 구성을 위해 일일히 수작업으로 패키지 설치 및 소스코드(Git) 복사가 필요함 도커에서는 build 명령어 기반으로 이미지 생성이 가능 컨테이너에 설치해야하는 패키지, 추가해야하는 소스코드, 실행 명령어와 쉘 스크립트 등을 한 파일[Dockerfile]에 기록 도커는 Dockerfile을 읽어 컨테이너에서 작업 수행 후 이미지를 생성함 Dockerfile은 한줄이 하나의 명령어, 명령어를 명시한 뒤 옵션을 추가하는 방식 Dockerfile 예..
1. 도커 허브란 도커가 공식적으로 제공하는 이미지 저장소 docker create / run / pull 을 수행할 때, 도커 허브에서 해당 이미지를 검색한 후 내려받음 공식 라벨이 없는 이미지는 사용법을 찾을 수 없거나 제대로 동작하지 않게됨 $ docker search를 통해서 도커 엔진에서 이미지를 찾을 수 있음 2. 도커 이미지 생성 docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] 이미지 테그를 입력하지 않을 시, default는 latest docker commit \ > -a "victoria.k" -m "my_first_commit" \ > commit_test \ > commit:first a : author 이미지의 작성자를 나타내는 메타데..
1. Docker Logging 컨테이너의 표준 출력(StdOut)과 에러(StdErr) 로그를 별도의 메타데이터 파일로 저장하며 이를 확인하는 명령어를 제공함 $ docker logs [컨테이너명] 컨테이너 내부에서 출력을 보여주는 명령어 $ docker logs --tail n [컨테이너명] : 최근 n개의 줄의 로그만 보여줌 $ docker logs -f [컨테이너명] : 로그를 스트림으로 확인할 수 있음 로그 저장방식 컨테이너 로그는 JSON 형태로 도커 내부에 저장됨 --log-opt 옵션으로 컨테이너 Json 로그 파일의 최대 크기를 지정할 수 있음 docker run -it --log-opt max-size=10k --log-opt max-file=3 --name log-test ubuntu..
1. 도커 네트워크 구조 1) $ ifconfig 리눅스 시스템의 네트워크 관리를 위한 필수 유틸리티 현재 시스템에 설정되어 있는 네트워크 인터페이스를 설정 또는 확인하는 명령어 서버가 통신하기 위해서는 네트워크 인터페이스(NIC, 랜카드)가 있어야 함 이를 설정, 변경, 확인하는 명령어 확인가능한 NIC 상황 내역 MAC 주소 eth0에 할당된 IP 주소 브로드캐스트 서브넷마스크 MTU (Maximum Transfer Unit) RX packets (부팅 후 현재까지 받은 패킷수) TX packets (부팅 후 현재까지 보내진 패킷 수) Collisions Interrupt 주소 현재 up 되어 있는지. 특정 네트워크 인터페이스의 UP/DOWN 가능 2) 도커 네트워크 컨테이너 내부에 IP를 순차적으로..
1. Docker란 무엇인가 컨테이너를 사용하여 응용프로그램을 더 쉽게 만들고 배포하고 실행할 수 있도록 설계된 도구 컨테이너 기반의 오픈소스 가상화 플랫폼이며 생태계 컨테이너 In Server 다양한 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순하게 해줌 AWS, Azure, Google Cloud 등 어디서든 실행가능하게 해줌 컨테이너 코드와 모든 종속성을 패키지화하여 응용 프로그램이 한 컴퓨팅 환경에서 다른 컴퓨팅 환경으로 빠르고 안정적으로 실행되도록 하는 소프트웨어의 표준 단위 이미지의 인스턴스이며 프로그램을 실행함 컨테이너 이미지 코드, 런타임, 시스템 도구, 시스템 라이브러리 및 설정과 같은 응용 프로그램을 실행하는데 필요한 모든 것을 ..
1. 도커 이미지와 컨테이너 1) 도커 이미지 컨테이너를 생성할 때 필요한 요소 여러 개의 계층으로 된 바이너리 파일로 존재 컨테이너를 생성하고 실행할 때, 읽기 전용으로 사용 [저장소 이름]/[이미지 이름]:태그로 구성 2) 도커 컨테이너 도커 이미지를 기반으로 컨테이너를 생성할 수 있음 해당 이미지의 목적이 맞는 파일이 들어있는 파일 시스템과 격리된 시스템 자원 및 네트워크를 사용할 수 있는 독립적 공간이 생성 이미지에서 변경된 사항만 컨테이너 계층에 저장 컨테이너에서 하는 작업은 원래 이미지의 영향을 받지 않음 생성된 컨테이너는 독립된 파일 시스템을 제공받으며 호스트와 분리되어 있음 특정 컨테이너에서 어플리케이션을 설치하거나 삭제해도 다른 컨테이너와 호스트는 변화없음 2. 도커 컨테이너 다루기 도커..