본문 바로가기
반응형

docker11

[Docker] 다중 아키텍처 빌드를 위한 buildx buildx는 하나의 이미지로 다양한 아키텍처(arm,amd 같은) 를 사용할수 있게 빌드하는 방식 docker build: 기본적인 Docker 이미지 빌드 명령어입니다. 단일 아키텍처 이미지를 빌드하는 데 주로 사용됩니다. 기본적으로 로컬 Docker 엔진에 의해 실행됩니다. 다중 아키텍처를 지원하지 않습니다. docker buildx: Docker BuildKit을 사용하여 Docker 이미지를 빌드하는 확장된 도구입니다. 다중 아키텍처 이미지를 빌드하고 관리할 수 있습니다. 로컬 Docker 엔진 뿐만 아니라 원격 Docker 엔진 및 다른 빌드 환경과 통합할 수 있습니다. 다양한 빌드 환경과 통합하여 복잡한 빌드 프로세스를 관리할 수 있습니다. 참고 https://github.com/docker.. 2024. 2. 22.
Docker 로그 관리 목차 서론 docker를 설치한뒤 로그가 많이 생기는 컨테이너가 있다. docker의 /var/lib/docker/containers 경로를 보면 생성한 컨테이너에 로그를 보면 보통은 별로 안쌓이는데 큰 여러가지 많은 것이 설치된 컨테이너의 경우는 로그의 용량이 순식간에 늘어난다. logrotate로 관리하면 될것 같은데 docker인데 docker 만의 로그 관리 기법이 있어서 포스팅한다. 관리 방법 /etc/docker/폴더에 들어가서 daemon.json파일을 생성하여 다음과 같은 양식으로 만들어 준다. { "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "5" } } 형식과 파일 사이즈와 파일 갯수로 설정하면 됩니다... 2024. 1. 22.
docker에서 as builder 를 사용하는 이유 목차 왜 쓸까? docker에서 as builder를 사용하는 경우가 있더라구요 로컬에서 빌드하고 아티팩트를 컨테이너에 복사하면 되는데 굳이 그럴 필요가 있나 싶었습니다. 하지만 사람마다 빌드하는 환경이 달라서 해당 환경을 모두 동일하게 하기 위해 builder 이미지를 따로 사용하는 것 같습니다. 해당 이미지를 가지고 개발을 하기 때문이죠. 설명 Docker는 소프트웨어 빌드를 위한 표준화되고 격리된 환경을 제공하기 때문에 종종 빌더로 사용됩니다. 개발자는 Docker를 사용하여 애플리케이션을 빌드하는 데 필요한 모든 종속성 및 도구를 포함하는 컨테이너 이미지를 생성할 수 있습니다. 그런 다음 이 컨테이너를 다른 팀 구성원과 공유할 수 있으므로 모든 사람이 동일한 환경에서 작업하는지 쉽게 확인할 수 있.. 2023. 2. 16.
amazoncorretto(docker) 및 jenkins에 java 11 적용 하기(openjdk) 목차 Caused by: java.lang.UnsupportedClassVersionError: org/opensearch/index/query/QueryBuilder has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0 AWS ECS 에서나 JENKINS 빌드할때 위와 같은 에러가 발생한다. 이 경우 java 버전이 낮아서 지원이 안된다는 의미이다. https://en.wikipedia.org/wiki/Java_class_file Java class fil.. 2023. 2. 7.
./gradlew buildimage 에러 Execution failed for task ':bootBuildImage'. > Builder lifecycle 'creator' failed with status code 145 [creator] ERROR: failed to build: exit status 1 > Task :bootBuildImage FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':bootBuildImage'. > Builder lifecycle 'creator' failed with status code 145 * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insig.. 2022. 12. 16.
[ubuntu] docker permission 에러 다음과 같은 에러 발생함 Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied 그룹 생성후 유저 추가 sudo groupadd docker sudo usermod -aG docker [ubuntu(계정이름)] 소켓 파일 그룹 권한 설정 sudo chown root:docker /var/run/docker.sock sudo chmod 666 /var/run/.. 2022. 11. 16.
docker 컨테이너 설정 파일찾기(for windows) docker info 해서 나오는 Docker Root Dir에 나오는 경로에 있긴한데 윈도우 10 home의 경우 wsl 위에서 도커가 실행이 되다보니 /var/lib/docker 이런 경로로 되어 있다. (리눅스의 경우는 그냥 /var/lib/docker에 가면 있다.) 이러면 도커데이터는 wsl 에서 관리하는 vhdx 로 저장이 되는데 이러면 직접적으로 열어보기가 까다롭다. $ docker run -v/:/data -it ubuntu /bin/bash # chroot /data # cd /var/lib/docker/containers 컨테이너로 볼륨 마운트 하는 형식으로 접근하는 수밖에 없다. 이렇게 컨테이너 uid 명으로 폴더가 나오므로 들어가서 설정하면 된다. wslconfig 파일로 설정하면 .. 2022. 11. 14.
Docker 설치 (for windows) Docker가 리눅스 기반이라 windows에서 호환이 안된다고 했는데 (VM에서 가상화 할때 가상화 설정을 끄게 되면 실행이 안된다..) 업데이트를 잘하게 되면서 windows에서도 운영이 잘 되었다. azure에서 k8s 운영 해봤는데 잘 되었다. 그래서 windows에서 docker를 설치해보도록 하겠다. 아래 링크에서 desktop on windows를 설치하자. https://docs.docker.com/desktop/install/windows-install/ Install Docker Desktop on Windows docs.docker.com 여기서 위는 hyper-V 대신 WSL을 사용한다 라는건데 나는 wsl2가 있어서 체크하고 넘어갔는데 문제가 생겼다. 여기에 대해선 많은 테스트가 .. 2022. 8. 22.
docker container status exited 안되고 실행상태 유지 증상 일반적으로 docker 로 컨테이너 run 하면 앱만 실행하고 exited 가 되버린다. docker run [container]를 했는데 바로 나와버림 원인 보통은 docker container를 처음 접할때 테스트 용도로 간단한 메시지 출력만 명령어로 지정을 하는데 이경우 해당 프로세스가 끝이나면 컨테이너도 내려간다. 이유는 해당 컨테이너의 주된 목적이 더 이상 유지되지 않기 때문에 컨테이너 또한 종료된다고 생각하면 된다. 해결방법 이럴땐 계속 실행되는 앱을 컨테이너 실행하면서 같이 실행시켜주면된다 일반적으로는 /bin/bash를 실행시킨다.(shell 에 따라 다르다. /bin/sh 가 될수도 있다.) 그래서 docker run [container] /bin/bash 를 해주면 컨테이너가 실행.. 2022. 7. 18.
docker (centos) 한글(한국어) 설정 docker 사이트내부에 언어가 os 언어를 따라가서 docker OS 언어를 바꿔 주려고 합니다. 저의 설치 이미지는 amzoncorretto:8 입니다. 살펴 보니 centos라 패키지 매니저는 yum이라 이걸로 언어팩을 설치 했습니다. 문제는 언어 적용이었습니다. 내부에서 언어를 적용해도 이미 웹페이지가 실행되고 있어 확인할 길이 없었습니다. 이 과정에서 docker 에서 ps 명령어를 설치하는 방법도 알게 되었네요.. yum install -y procps https://stackoverflow.com/questions/26982274/ps-command-doesnt-work-in-docker-container 이걸로 pid 를 얻어 kill 하니 컨테이너가 내려가버리는 상황이 발생하여 내부적으로.. 2022. 5. 19.
Kubernetes vs docker 컨테이너의 스케일 아웃하려고하는것 오케스트레이션 서버와 공간을 더 효율적으로 사용할 수있다. k8s는 노드라는것을 활용 마스터 노드가 있는데 다른 노드와 모두 연결되어있다. 호스팅, 오케스트레이션 관리,시작중지관 이점 3개는 개발쉬워지고, 모니터링도구 제공, 배포, 쿠버네티스의 배포는 일회용이 아니다. 앱이 중지되면 다시 시작된다. 확장성외에 배포도 쉬워진다ㅏ. 부하 분산, 서비스 레지스터리 발견등 응용프로그램기리 대화를 할수 있게 한다. 모니터링 로그를 볼수 있도록 해준다. 그래서 보면 대규모로 조정할대는 도커, 작은 규모는 k8s를 사용하는것같다. 1. 자동배포 2. 스케일인 아웃 3. 이식성 https://dev.classmethod.jp/articles/summit-korea-report-eks/ 2021. 6. 11.
반응형