docker 10

[golang] WSL Docker와 연동하여 Application 개발하기

들어가기에 앞서본 포스팅은 Jetbrains의 GoLand라는 개발툴을 사용합니다.VSCode 또는 기타 개발 IDE를 사용하는 환경에는 본 포스팅의 내용과 일치하지 않을 수 있습니다.  준비물1. Goland 설치2. WSL 설치3. WSL에 Docker 설치 위의 환경이 준비되어있지 않다면 아래 포스팅을 참고. Go 환경 변수 및 버전 관리하기 (GOROOT, GOPATH) [GO언어] Go 환경 변수 및 버전 관리하기 (GOROOT, GOPATH)[이 포스팅은 Windows 환경을 기준으로 작성하였습니다.] GoLand 설치 이후 개발을 진행하던 도중 환경변수가 꼬이는 탓에 엄청난 삽질을 하고 결국 싹 밀고 다시 정리해서 해결하였다. 이 글을 통해hackerpark.tistory.com WSL 간단..

Go언어 2024.10.16
[Docker] WSL에서 Docker 설치하기 (Docker Desktop 아님)

들어가기에 앞서 현재 Windows 환경에 WSL이 설치되어있지 않다면 아래 포스팅을 참고하기 바랍니다.WSL 간단 설치 방법 [Windows] 단일 명령 한줄로 WSL2 + Ubuntu 통합 설치하기WSL(Windows Subsystem for Linux) 은 Windows 컴퓨터에서 동시에 Windows 와 Linux 를 사용할 수 있는 기능이다. 공식적으로는 WSL 을 사용하여 Linux 배포판(Ubuntu, OpenSUSE, Kali, Debian, Arch Linux 등) 을 설치할 수 있으hackerpark.tistory.com  WSL을 설치했다면 Linux의 꽃(?) Docker를 설치해봐야 한다. 당연히 WSL도 Windows 환경이니까 Docker Desktop을 설치하려는 생각을 가질..

Docker & Container 2024.07.15
Jetbrains(2024.01) Remote Docker Build Error 해결 방법

환경Jetbrains Tool : Windows 환경Docker : 원격 Linux 서버의 DockerWindows의 Jetbrains Tool을 사용하여 원격(linux) 서버의 Docker에 SSH를 사용해서 Build 개요 Jetbrains 2024.01 업데이트를 하고 나서 잘 동작하던 Remote Docker Build Error가 발생하기 시작하였다. BuildKit ??? 보자마자 우선 테스트로 Docker Desktop을 설치하고 Docker 연동 후에 해봤더니 잘 되긴 했다. 하지만 Docker Desktop은 유료로 전환되었고, 원격 Docker 서버가 있는데 왜 Windows Host 환경에서 Docker Engine이 필요한지 전혀 이해가 되질 않았다. 아무튼 이게 무슨 일인가 싶어..

Docker & Container 2024.04.29
[Kubernetes] kubespray 를 사용한 k8s 설치

[시스템 구성] 1. 방화벽 해제 + swapoff (모든 Node에서 수행) systemctl stop firewalld systemctl disable firewalld swapoff -a 2. SSH Key 생성 및 복사 ssh 생성 ( ※ Master Node 에서만 root 계정으로 진행 ! ) ssh-keygen -t rsa Master Node 에서 생성된 public key 를 Master Node 와 Worker Node 의 ~/.ssh/authorized_keys 에 복사 # Master Node 의 pub key 확인 cat ~/.ssh/id_rsa.pub # .ssh 폴더 생성 (Master Node 는 이미 있음) mkdir ~/.ssh # 위에서 생성한 Makster ssh pu..

Kubernetes/실습 2023.05.15
[Docker] image를 구성하는 image layer

Docker image & conatiner Image의 정의 Container라는 독립된 환경에서 서비스가 실행 가능하도록 필요한 요소를(서버 환경, 실행 파일, 라이브러리, 구조 등...) 하나의 패키지 형태로 묶는 형태 Container의 정의 소프트웨어 서비스를 실행하는데 필요한 요소를 포함하는 경량 패키지 Docker의 image는 특정 환경과 파일, 라이브러리 등을 실행할 수 있는 Container를 생성하기 위한 파일이다. (vm에서는 iso 파일에 해당되는 파일이다.) image만 있으면 container를 계속 생성할 수 있으며, image 하나를 가지고 여러 container들을 생성할 수 있다. Image Layer Image는 container를 실행하기 위한 요소들을 효율적으로 관..

Docker & Container 2023.04.23
[Docker] OCI(Open Container Initiative) & CRI(Container Runtime Interface)

초창기 Docker Model 초창기 Docker는 LXC에 의존하여 Container를 관리하였으며 monolithic 한 구조로 Docker Daemon 하나에서 Docker client, Docker API, Container Runtime, image build 등 여러 기능들을 관리하였다. LXC (Linux Container) LXC는 단일 컨트롤 호스트 상에서 여러 개의 고립된 리눅스 시스템들을 실행하기 위한 운영 시스템 가상화 방법이다. cgroup, namespaces 기술을 사용하여 Container들이 독립된 환경에서 실행되도록 하는 기술이며 현재의 Docker Container의 부모(?)라고 볼 수 있다. Docker Container Runtime (libcontainer) LX..

Docker & Container 2023.04.18
[Docker] Virtual Machine(VM) & Docker(Container) 정리

VM (Virltual Machine) VM은 Hypervisor 기반의 가상 시스템으로 Host와 완전히 분리된 환경을 구축하고 실행할 수 있도록 해주는 기술이다. VM은 보통 Type1과 Type2 두 가지로 나뉘는데 둘의 차이점은 아래와 같다. VM (Type1) Hypervisor가 H/W 위에 직접 설치되며 기존의 방식(Type2)과 비교하여 H/W 접근성이 훨씬 효율적으로 설계되었기 때문에 성능과 확장성, 안정성을 확보할 수 있다. (Hypervisor 자체가 불안정하면 모든 게 불안정한 문제가 있다.) 이처럼 H/W 위에 직접 Hypervisor가 설치되는 것을 베어메탈 하이퍼바이저(Bare Metal Hypervisor)라고 부른다. (대표적으로 Xen, Hyper-V가 Type1에 속한다..

Docker & Container 2023.04.17
[Kubernetes] Docker vs Podman

Kubernetes가 Docker를 사용하지 않으려고 계속 노력하는 중이다. 그 이유에는 여러 가지가 있지만 kubernetes 설치 시 docker 설치가 필요 없어졌고, image 개발 시에도 굳이 docker를 사용하지 않아도 되었다. 결정적으로 linux의 일정버전 이상부터는 docker가 아닌 podman을 사용을 권장하는만큼 어떤 차이가 있는지 확인해 보았다. Daemon less podman 은 container를 실행하기 위한 데몬이 필요없지만, docker 는 container 를 관리하기 위해 백그라운드에서 데몬 프로세스를 실행해야 한다. Rootless podman 은 container 를 일반 user로 실행할 수 있고, docker는 container 실행을 하기 위해 root 권..

[DevOps] Jetbrains IDE를 활용한 Docker + Kubernetes 연동 (Clion, InteliJ, Goland ...)

2023-02-10 기준으로 작성된 글이기 때문에 작성된 날을 기준으로 멀지 않은 미래에는 포스팅 내용에 대한 추가적인 검증이 필요합니다. Jetbrains의 여러 IDE를 사용하고 있지만, 본 포스팅에서는 goland IDE를 사용하였습니다. [환경] Node 4개로 구성된 Kubernetes Cluster 1개 Kubernetes 설치 Node는 Docker 설치를 하지 않음(podman + buildah 사용 중) Jetbrains의 IDE 중 Goland를 사용하여 개발 Docker가 설치되어 있는 CI 서버 (k8s node가 아닌 단순한 Docker 설치된 곳) Nexus Repository (Docker image) [목표] Goland를 사용하여 Docker 환경에서 컴파일 + image ..

DevOps 2023.02.10
[Linux] CentOS8 Docker 설치

CentOS 8 에서 Docker 를 설치하려고 했는데 아래의 오류가 뜨면서 설치가 안된다. [root@kube212 ~]# yum install docker 마지막 메타 데이터 만료 확인 : 0:10:10 전에 2020년 08월 13일 (목) 오전 04시 57분 05초. All matches were filtered out by modular filtering for argument: docker 오류: 경기를 찾을 수 없습니다.: docker [root@kube212 ~]# yum install docker-ce 마지막 메타 데이터 만료 확인 : 0:10:33 전에 2020년 08월 13일 (목) 오전 04시 57분 05초. 오류: 문제: package docker-ce-3:19.03.12-3.el7..

반응형