| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 헤드퍼스트디자인패턴
- 성수맛집
- 오브젝트
- 깨끗한코드
- 성수핫플
- Linux
- DesignPattern
- 직장인
- 독서일지
- IntelliJ
- 클린코드
- 책읽기
- 성수직장인
- 객체지향
- JAVA개발자
- 주니어개발자
- 직장인점심
- 성수
- 상속
- 책너두
- 객체지향프로그래밍
- Java
- docker
- 디자인패턴
- 성수볼거리
- JavaScript
- 개발자
- 독서
- 헤드퍼스트
- 코딩
- Today
- Total
목록docker (11)
런타임노트
4일차. 제 1부. 도입편 제 1장. 시스템과 인프라 기초 지식 1.1. 시스템 기반의 기초 지식 1.2. 하드웨어와 네트워크 기초 지식 1.3. OS(Linux) 기초 지식 1.4. 미들웨어 기초지식 1.5. 인프라 구성 관리 기초 지식 1.6. 코드를 사용한 구성 관리 1.7. 대표적인 인프라 구성 관리 툴 1.8. 지속적 인티그레이션 / 지속적 딜리버리 - 테스트가 끝난 안전한 애플리케이션을 제품 환경으로 제공하기 위한 기초 지식 설명 1.8.1. 지속적 인티그레이션(Continuous Integration) - 애플리케이션의 코드를 추가 및 수정할 때마다 테스트를 실행하고 확실하게 작동하는 코드를 유지하는 방법 - 소프트웨어의 품질 향상을 목적으로 고안된 개발 프로세스 - 단위 테스트 : 소프트웨..
3일차. 제 1부. 도입편 제 1장. 시스템과 인프라 기초 지식 - 시스템 기반 : 애플리케이션을 가동시키기 위해 필요한 하드웨어나 OS/미들웨어 등과 같은 인프라. - 이 책의 메인 주제 : Docker : 애플리케이션 실행 환경을 작성 및 관리하기 위한 플랫폼 - 제 1장에서는 Docker를 도입하기에 앞서 알아둬야 할 시스템 기반의 개요와 시스템 기반을 다루기 위해 필요한 인프라 기술의 핵심 내용에 대해 설명한다. 1.1. 시스템 기반의 기초 지식 1.2. 하드웨어와 네트워크 기초 지식 1.3. OS(Linux) 기초 지식 - OS의 역할 : 하드웨어나 네트워크 제어 - Docker는 Linux의 기능을 사용했기 때문에 Linux의 기초지식은 Docker를 사용하는 데 있어서 필수다. 1.3.1. ..
docker container 이름을 변경하고 싶을 때. ## 예시 docker rename [이전 container 이름] [새 container 이름] ## 적용 docker rename zen_bouman dtu-admin-backend
docker-compose 설정 이제 docker-compose로 만들어진 컨테이너들을 하나로 묶어서 실행해보자. PostgreSQL은 이미 만들어진 이미지를 그대로 사용할 것이기 때문에 별도의 dockerfile은 필요없다. 프로젝트 폴더에 docker-compose.yml 파일을 생성한다. version: "3"# docker-compose 버전 services:# 서비스 목록 frontend:# 서비스 이름 build:# 이미지 Build 옵션 context: ./frontend# Build될 프로젝트가 위치한 경로 dockerfile: dockerfile# 프로젝트 폴더의 dockerfile 이름 container_name: frontend# 컨테이너 이름 ports:# host와 공유할 포트 목..
위 사진의 네모난 박스가 도커 호스트이다. (도커가 설치되어 있는 호스트 시스템 여기서 docker daemon을 start하게 되면 docker0라고 하는 network interface가 생긴다. docker0라고 하는 interface는 virtual ethernet bridge(브릿지 네트워크를 지원해주는 가상 네트워크)이다. 컨테이너에서 가지고 있는 ip와 실제 도커 호스트가 가지고 있는 네트워크를 연결해주는 연결고리 역할을 해준다. 브릿지 네트워크를 지원해주기 위해서 docker0(도커 제로)는 내부적으로 network advance translation이라고 하는 nat 서비스와 포트포워딩 기능을 지원해주고 있다. docker0 - virtual ethernet bridge - L2 통신기반..
쿠버네티스(Kubernetes)란? -> 컨테이너를 도커 플랫폼에 올려서 관리+운영+클러스터 서비스를 지원해 주는 것. = Container Orchestration 컨테이너란? 위 사진의 app.js 프로그램이 실행하려면 nodejs가 필요하다. node 명령어에 app.js 소스 파일을 넣어주면 실행된다. 이걸 가지고 컨테이너를 만드려면, Docker 파일에 FROM node:12 COPY app.js /app.js ENTRYPOINT ["node", "app.js"] node:12는 버전을 나타내는데, node를 만들어주고 app.js를 컨테이너에 복사하면 -> node버전 12의 환경을 만들고 app.js를 넣은 구조. 누군가가 컨테이너를 동작시킬 명렁어?는 node app.js 저 컨테이너를 동..
* Dockerfile이란? 도커 명령어로 컨테이너를 구성하기 위해서는 컨테이너 생성, 컨테이너 안에서 OS설정, 미들웨어 설치, 파라미터 설정 등은 모두 직접 수행해야 한다. 이러한 일련의 작업을 자동으로 수행하도록 스크립트로 만든것이 dockerfile이다. 이러한 Dockerfile은 필요한 환경설정이 모두 세팅된 image를 만드는 데 목적이 있으며, 또한 자동화로써 사용할 수 있고 스크립트이므로 변경해서 재사용할수도 있다.이러한 도커파일의 내용은 아래와 같은 정보들을 기술한다. 1. 베이스가 될 도커 이미지 2. 도커 컨테이너 안에서 수행할 명령, 조작 등 3. 환경변수 등의 설정 4. 도커 컨테이너 안에서 작동시킬 데몬 실행 * Dockerfile 구문 기본 Dockerfile은 텍스트 형식이..
Volumes : 디스크에서 자원을 할당해 주는.. Container : 실제 메모리에 올라간 image Image : 자바의 클래스처럼 찍어낸 틀 같은거 *dockerfile이 있는 계정에서 실행해야함 ex) dockerfile을 회사 우리 서버에 올렸으면 weserver@weserver 여기서 실행 내가 예전에 했던 $ docker pull mariadb 이거는 docker hub에서 public으로 공개된 image를 가져오는 것임. 지금 하는건 개발서버에 올라온 dockerfile을 컨테이너에 올리기. 조건1. image와 container 이름은 dtu-***-backend라고 할 것. 나는 먼저 윈도우에서 리눅스 처럼 명령어를 사용하기 위해서 WSL2 Ubuntu를 활용하여 docker des..
어느순간 생성한 image 목록을 보니 누가 생성했는지도 모르는 : 이미지들이 증식되어있었다. image가 뭔데? : 이미지는 어떤 코드에서든 더 이상 참조되지 않는 이미지이다. docker build를 하거나 이미지를 pull했을 때 생겨난다. 현재 도커 이미지의 상황을 보면 IMAGE ID가 7184b27319b4 이고 이름이 test:0.1 인 이미지가 있다. 이 이미지의 Dockerfile을 일부 수정하고, sudo docker build --tag test:0.1 ./ 이미지를 재생성 해주면 다음과 같이 원래 test:0.1의 ID였던 7184b27319b4 가 의 이름으로 변경된 것을 볼 수가 있다. 즉, 빌드 이전에는 ID가 7184b27319b4인 이미지를 우리가 test라는 이름으로 참조..
도커 이미지 삭제 시 dependent child images로 인한 오류가 났다...... 도커 이미지 삭제하는 명령어 $ docker rmi [이미지 id] 를 했더니 아래와 같은 에러가 났다. 에러 메세지 : Error response from daemon: conflict: unable to delete a5538e62c9c1 (cannot be forced) - image has dependent child images 원인 : Image의 ID만을 특정하게 되면, 보이지 않지만 이미 다른 이미지에 의해 사용되고 있는 여러 태그들 또한 같이 선택 될 수가 있기 때문이라는데,, 해결 : Image의 ID가 아닌 Image Name:Tag로 특정 할 수 있도록 한다. $ docker rmi Imag..