글

라벨이 Docker인 게시물 표시

docker build시 발생하는 pipe dockerDesktopLinuxEngine 에러

docker build -t { 빌드할 이미지의 이름, 태그(-t 옵션)} . 실행시 다음과 같은 에러가 발생했다. ERROR: error during connect: Head "http://%2F%2F.%2Fpipe%2FdockerDesktopLinuxEngine/_ping": open //./pipe/dockerDesktopLinuxEngine: The system cannot find the file specified. 원인 : docker desktop 프로세스가 안 올라와서 그럼. 해결 : docker desktop을 실행시키면 됨.

Docker 에러 : WSL Integration with distro 'Ubuntu-24.04' unexpectedly stopped 해결법

이미지
이슈 발생 docker image를 제작할 일이 생겨서 docker desktop을 실행시켰는데 지속적으로  WSL Integration with distro 'Ubuntu-24.04' unexpectedly stopped 팝업 이벤트가 발생했다. 이슈 조사 윈도우 이벤트 뷰어 상 상세 정보는 다음과 같다. 이슈 서칭 https://forums.docker.com/t/unknown-key-automount-crossdistro-in-etc-wsl-conf-2/147475/3 연관된 이슈를 다루는 docker forum은 위와 같다. 프로그램 버전 다운 그레이드가 이 에러를 해소해줄 것이라고 하지만 근본적인 해결법은 없는 상태다.  https://github.com/docker/for-win/issues/14704 위 Github 이슈에서는 crossDistro 옵션,  그러니까 위 오류에서 가리키는 key 값은 2020년에 금지되었다고 주장한다. 사용자에게 더 유연한 마운팅을 제공하기 위해 금지되었음. 결론 어찌됐든 소프트웨어 배포자가 업데이트 해 줘야되는 문제다. 임시 방편으로 윈도우 cmd 를 관리자 권한으로 실행시킨 뒤 net stop lxssmanager net start lxssmanager 를 입력하여 Linux용 윈도우 하위 시스템 서비스 매니저를 재시작하라고도 나와있었으나 내 컴퓨터에서는 해결되지 않았다. 어찌됐던 docker desktop 버전 업데이트를 하니 더 이상 문제는 발생하지 않는다.

Nginx container의 UTC Timezone

📑 Background context Linux계열 OS가 가동되고 있는 서버에 docker 기반 Nginx container가 실행되고 있다. 이 Nginx Container는 Linux OS에서 Process로 인식되며 Dockerfile, Docker-compose, 또는 configuration 및 환경변수 파일(.env)에 기입된 사양에 따라 구성된 환경 위에서 작동하는 Nginx process이다.   이 가상환경은 Ubuntu같은 Full-OS는 아니고  격리 프로세스에 맞게 제작된 User-space이다. Kernel은 Host OS의 Kernel을 공유한다. User-space는 Container에서 실행시킬 application에 필요한 최소한의 라이브러리, binary를 설치하고 application을 실행한다. system call이 필요한 작업은 Host OS의 system call을 이용한다. 이 부분이 virtual machine과의 차이점이다. python 3.10.14 dockerhub   docker hub의 공식 이미지들의 image hierarchy를 보면 어떤 base image로부터 빌드하는지 알 수 있다. 🍀 container와 virtual machine과 비교는 다른 포스팅에서 다룰 예정. ❗ docker logs 명령어를 통해 Nginx 로그를 읽어오면 격리된 컨테이너 환경의 로그를 보여주기 때문에 기본 설정인 UTC(+0000) 기준의 Timestamp 밖에 확인할 수 없다. 컨테이너 환경에서 작동하는 Nginx의 Timezone 기준을 바꾸려면 Container를 제작하는 시점에서 명세를 해야한다. ✅ 한국시 기준 Timestamp를 보고싶다면 Dockerfile, Docker-compose와 같은 script file에 Timezone을 UTC가 아닌 Asia/Seoul로 바꿔준 후 컨테이너를 가동시켜야한다.   

이 블로그의 인기 게시물

Blogger 커스터마이징 : CSS 수정 (sticky-header)

데이터 스트림_2(gstreamer, socketio, rabbitmq, kafka)

Python SMTP + Application