본문 바로가기
반응형

K8S/Docker16

[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.
docker 8080/tcp port 뜨는 거 상위 이미지에서 상속받아서 하면 된다고 하는데...크흠 https://stackoverflow.com/questions/61161494/permanently-change-the-tomcat-port-from-dockerfile Permanently change the tomcat port from Dockerfile I want to run two containers inside a k8s pod. tomcat exporter ( which runs on port 8080 ) tomcat application ( which also runs on the port 8080 ) As multiple running containers inside a pod cant stackoverflow.com 2022. 11. 18.
Docker 및 docker-compose 설치 for ubuntu 그냥 apt-get install docker apt-get install docker-compose 하면 됨 이전 버전 있으면 삭제를 해줘야한다. sudo apt-get remove docker docker-engine docker.io containerd runc 설치 repository 설정 sudo apt-get update sudo apt-get install -y ca-certificates curl gnupg lsb-release sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo \ .. 2022. 11. 16.
Docker forwarding 추가 및 중간에 변경하는법 Assign Docker port https://www.baeldung.com/linux/assign-port-docker-container docker community https://forums.docker.com/t/how-to-expose-port-on-running-container/3252/17 How to EXPOSE Port on running container nice solution, better than using the complex iptables forums.docker.com stackoverlfow https://stackoverflow.com/questions/19335444/how-do-i-assign-a-port-mapping-to-an-existing-docker-co.. 2022. 11. 14.
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 구조 및 lifecycle 아래내용은 아래 사이트 번역한것입니다. 번역기를 돌려 이상할수 있으니 영어가 되신다면 아래 사이트를 보시는게 좋을것같습니다. https://www.educative.io/answers/what-is-the-docker-container-lifecycle What is the Docker container lifecycle? Contributor: abhilash www.educative.io 이 게시물은 사이공의 grokking 엔지니어링 커뮤니티 와 공동 이벤트의 기초였습니다 . 이 이벤트는 DevOps를 중심으로 진행되었습니다. 토론에서 Docker Saigon은 Docker 내부에서 작동하는 방식에 대해 엔지니어링 청중의 관심을 끌 필요가 있었습니다. Docker 및 Linux 운영 체제에 대한 청.. 2022. 10. 28.
docker-compose 에러: Operation CREATE USER failed for 'root'@'% Operation CREATE USER failed for 'root'@'% 보통 이미 유저에 root가 있어서 에러가 발생하는것 해당 docker-compose.yml에 root 유저 생성하는 곳을 삭제하거나 주석처리 db: image: mysql:5.7.22 restart: always environment: MYSQL_DATABASE: "admin" # MYSQL_USER: root MYSQL_PASSWORD: root MYSQL_ROOT_PASSWORD: root volumes: - .dbdata:/var/lib/mysql ports: - 3306:3306 이런식으로 하면 됩니다. 2022. 9. 29.
docker-compose 에러:You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version 윈도우의 경우 docker desktop 설정에서 use docker compose v2에 체크를 해주면 버전업이 된다. 리눅스의 경우는 curl로 받아서 설치하면된다. Reference https://stackoverflow.com/questions/42139982/version-in-docker-compose-yml-is-unsupported-you-might-be-seeing-this-error Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file ver Here's my docker-compose.yml file: version:.. 2022. 9. 28.
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.
반응형