Docker
33. docker 메뉴얼 파해치기 Build compose
dockerfile 여러개를 좀더 효율적이게 쓰기위해 docker compose파일이 있다. 하나의 파일에 여러개의 dockerfile을 컨트롤 및 빌드 할 수 있고 up 명령어로 한번에 실행도 가능하다 또 down 으로 끄는것도 가능 docker compose up -d ./run_tests docker compose down 예시를 보며 확인해보자 version: "3.9" # optional since v1.27.0 services: web: build: . ports: - "8000:5000" volumes: - .:/code - logvolume01:/var/log depends_on: - redis redis: image: redis volumes: logvolume01: {} 이렇게 3.9 ..
32. docker 메뉴얼 파해치기 Build buildKit
빌드킷이란? 도커의 빌드할때 도움을 주는 플러그인이다.(근데 기본적으로 설치되는듯함) 빌드킷이있으면 1. 필요없는거는 만들지않음 2. 새로히 빌드 단계를 구축한다 3. 빌드중 변경된거만 빌드 4. frontend 라고 하는데 syntax를 첫줄에 어떻걸 사용할지 지정하여 사용 5. API의 부작용 방지? 6. 빌드 캐시의 우선순위 지정 이런식으로 빌드를 좀더 깔끔하게(makefile처럼) 만들수 있게 하는거같다 LLB는 (Low-Level-Build)는 이게 실행파일? 이라고 생각하는게 맞는거 같다 syntax는 컴파일러? 여서 LLB를 만들어 주는 느낌~ 그외에도 toml파일등 여러가지가 있는듯하다
30. docker 메뉴얼 파해치기 Build Bake
이제 docker-compose.yml 같은 파일에 대하여 설명해주는 거같다. 빌드할 dockerfile 이나 어떠한 명령어를 추가하는지 적는 파일이다. 많은 dockerfile을 한번에 만들어주려면 yml, yaml, json, hcl, override.json, override.hcl 과 같은 파일을 만들어 정의해주어야 한다 args Map 빌드 시간설정 attest List 빌드시 인증서 라는데 SBOM 같은 인증서에 대하여 다음장에 배운다 cache-from List 케시소스를 전달한다 https://fe-developers.kakaoent.com/2022/220414-docker-cache/ cache-to List 캐시 내보내는 대상 https://docs.docker.com/build/ci/..
29. docker 메뉴얼 파해치기 Build cache
좀 중요한 내용같다 dockerfile이 빌드될때 어떤것을 쓰고 있고 그것을 수정이나 복사하면 뭔가 꼬이지 않을까? 라는 문제를 해결하는 부분이다. # syntax=docker/dockerfile:1 FROM ubuntu:latest RUN apt-get update && apt-get install -y build-essentials COPY main.c Makefile /src/ WORKDIR /src/ RUN make build 이러한 예제는 지금 폴더에 main.c 와 makefile 를 컨테이너 /src/에 넣어주는거 같다 그리고 /src/에 들어가 make를 실행하는데 음 에매한가보다 WORKDIR을 이동하고 src에 만드느냐 아니면 복사하고 WORKDIR에 가느냐 그래서 WORKDIR를 들가..
27. docker 메뉴얼 파해치기 Build Drivers
아직 정확히 이해한 부분은 아니지만 driver 라고 도커를 빌드 해줄때(컨테이너를 만드는 작업을 할때) 어떠한 설정을 해줄수 있는 여석으로 느껴진다 먼저 이글을 보고 전체적인걸 이해하고 오면 좋을거같다 https://medium.com/@artur.klauser/building-multi-architecture-docker-images-with-buildx-27d80f7e2408 Building Multi-Architecture Docker Images With Buildx How to create your own Docker images that run on multiple CPU architectures. medium.com 이분은 지금 컴터의 정보까지 검사한다음에 하는듯하다... checking ..
25. docker 메뉴얼 파해치기 Build
https://velog.io/@koo8624/Docker-Buildx%EB%A1%9C-cross-platform-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EB%B9%8C%EB%93%9C%ED%95%98%EA%B8%B0 [Docker] Buildx로 cross-platform 이미지 빌드하기 Buildx Docker는 multi-architecture 빌드 등, 다양한 빌드 옵션을 지원하는 CLI 플러그인을 제공합니다. Buildx는 19.03 이후 버전부터 사용이 가능하다고 하니 버전 확인이 필요합니다. 공식 문서에 따르면, velog.io 이분글을 참고하였다 Buildx 는 일단 플러그인으로 깔려 있더라 그리고 이것을 이용해서 컴파일 과정을 지금 내컴퓨터의 컴파일 옵션이 아닌 리눅스 암드 ..
24. docker 메뉴얼 파해치기 macvlan
IPvlan과의 차이점이 있는 듯하다 ipvlan는 docker에서 중간에 처리를 하여 주었다면 macvlan는 중간처리 없이 집접 만드는? 듯한 느낌 그리고 ipvlan는 자신 주소에서 만들지만 macvlan는 새로운 주소?? 에서 만들기 때문에 기존 호스트와 연결이 안된다고 한다.. 네트워크를 잘 알지 못하여 ㅜㅜ 뭔말인지 이해를 못하겟다 그리고 docker 에서는 빠르지만 ipvlan을 쓰는걸 권장하는듯 하다 https://m.blog.naver.com/PostView.naver?blogId=alice_k106&logNo=220984112963&referrerCode=0&searchKeyword=ipvlan 97. [Docker + Network] Docker 컨테이너의 Macvlan 사용해보기 이..
23. docker 메뉴얼 파해치기 IPvlan
ipvlan 이란 좀 신기하다. 인터넷 주소를 특정하게 규칙적으로 만들어 주는 듯한? 느낌?? 우리가 아는 라우터와 비슷하다고 생각한다 예를들어 ipvlan 의 규칙을 docker network create -d ipvlan \ --subnet=192.168.1.0/24 \ --gateway=192.168.1.1 \ -o ipvlan_mode=l2 \ -o parent=eth0 db_net 이렇게 하면 서브넷 마스크가 24자리 비트까지 비교하고 이걸 다루는 게이트 (iptime 같은거)가 192.168.1.1에 있고 mode 는 l2란다 뭔지모름 인터넷 이름?? eth0 그리고 만든 별명 db_net 으로 만들어짐 kyoulee@bases-MacBook-Air ~ % docker network ls NE..
22. docker 메뉴얼 파해치기 network part 2
https://youtu.be/vmgSIBzYoiE - CNM(Container Network Model) - Network Driver None Host Bridge Overlay 1. CNM(Container Network Model) 컨테이너끼리 통신 할 수 있는 네트워크를 제공하는것 - Network Sandbox 네트워크를 구성하는 것이다 가상 네트워크 인터페이스와 DNS 등등 인터넷을 만드는것 - Endpoint 컨테이너와 네트워크를 이어주기 위한 것이라고 생각하면될거 같다 - Network 한개의 endpoint 와 다른 한개의 endpoint를 이어주는 것이라고 생각한다. 단 한쌍만 이을수 있다고 한다 이 위에것을 이용하여 컨테이너의 네트워크를 만들어 준다. 2. Network Driver..
20. docker 메뉴얼 파해치기 overlay network
오버레이 뭐지? 도커 swarm 에 정보를 보면 192.168.65.4:2377 이라는 2377 포트를 쓰는 무언가가 눈에 띠인다 kyoulee@bases-MacBook-Air docker_learn % docker swarm init Swarm initialized: current node (o148vax3g7xuuy136ww1c0kj9) is now a manager. To add a worker to this swarm, run the following command: docker swarm join --token SWMTKN-1-591wpcoihz2rsb5i40ep40c0o5jb8yqwou0sb13v8tjgifea3f-4a6pkf3dnjkeea7hn1r5s0p56 192.168.65.4:2377 ..