즐겁게 개발을...

개발보다 게임이 더 많이 올라오는 것 같은...

써드파티 도구/Docker 6

Docker로 PostgreSQL 구동 시 한글이 나오게 하는 방법

영문으로 설치해도 데이터베이스에 기본적으로 UTF8로 설치되기에 한글이 Insert/Update는 되는데, 로그 및 날짜포맷등이 en-US로 설치되기에 한국 설정에 맞지 않게 표시가 된다.  한글이 나오게 하려면 별도로 언어팩을 설치해야 하기 때문에 공식 이미지를 기반으로 별도 빌드해서 사용할 필요가 있다.  다음은 빌드 스크립트이다.  FROM postgres:16# Locale 설정에 필요한 패키지 설치RUN apt-get update && apt-get install -y locales openssh-client# ko_KR.UTF-8 locale 생성RUN locale-gen ko_KR.UTF-8# ko_KR.UTF-8 locale 생성RUN localedef -i ko_KR -f UTF-8 ko..

[2021.08] Docker 로그 지우기

안녕하세요. 테스트로 운영하거나 개발할 때 사용할 때는 상관이 없는데 운영서버에서 동작하는데 미처 디버그 로그를 풀지 않았거나 로그옵션을 기본으로 설정했거나 해서 Docker의 로그가 많이(기가 단위) 쌓이면 느려지는 현상이 있습니다. 이때 사용하는 방법입니다. echo "" > $(docker inspect --format='{{.LogPath}}' ) 이걸로 하시면 되고 루트경로여서 위에 명령 실행시 허가거부로 뜨면 아래 명령을 실행한다. echo '' | sudo tee $(docker inspect --format='{{.LogPath}}' )

[2021.08] Docker 컨테이너 Save/Load

도커 이미지를 Tar로 압축했다가 푸는 방법 docker build나 commit으로 만들어진 이미지는 일반적으로 docker hub와 같은 registry에 push되고, 이를 다시 pull 받는 방식으로 사용된다. 하지만, 간혹 docker 이미지를 registry를 거치지 않고 이동해야 할 때가 있다. 이럴 때 사용자는 docker 이미지 혹은 컨테이너를 tar파일로 만들 수 있다. 1. docker save (docker image -> tar) docker 이미지를 tar파일로 저장하기 위해서는 docker save 커맨드를 사용한다. docker save [옵션] [이미지명] 저장할 파일명을 지정하는 옵션은 -o 를 사용한다. docker save -o nginx.tar nginx:latest..

[2021.08] Docker Remote API를 이용하는 방법

일반적으로 Docker를 로컬에서 많이 사용하는데 로컬이 아닌 Remote에 있는 다른 서버의 도커를 빌드/컨테이너 생성/시작 등의 제어 및 상태수집을 하려면 Docker Remote API를 사용해야 합니다. 기본적으로 설치하고 서비스를 돌리면 Remote API를 구동하는 REST 서버가 구동하지 않기 때문에 옵션을 추가하는 방법을 알려드리겠습니다. 참고로 Remote API 사용은 취약점 공격대상이 될 수도 있기 때문에 가급적 보안상태가 양호한 서버에서 구동하는 것이 좋습니다. 구간암호화(TLS, SSH)는 당연히 해야 될테고요. 운용방법 sudo vi /usr/lib/systemd/system/docker.service ~~ ExecStart=/usr/bin/dockerd -D -H tcp://0..

[2021.08] Docker Build를 하는데 자꾸 network bridge 관련 오류가 발생한다면...

docker: Error response from daemon: failed to create endpoint naughty_albattani on network bridge: network 5137fd92db0f85370336edfa29bc58868b51f607ba8e55f21896db2fb2b13825 does not exist. Endpoint 다음에 나오는 이상한 이름은 계속 랜덤으로 바뀌고 해쉬값도 계속 바뀌는 값입니다. sudo vi /lib/systemd/system/docker.service #After=network-online.target firewalld.service #Wants=network-online.target After=network.target docker.socket R..

1 2