반응형

전체 글 394

[docker] docker 간의 bride 를 통한 네트워크 연결 (docker-composed 사용)

사용시나리오 docker-composed.yml 으로 A, B 컨테이너를 만들었다. 이때, A/B 간의 통신을 하고싶을때 다음의 방법을 사용한다. 두 컨테이너간의 연결 일단, 알아둬야할점은 다음과같다. docker를 만들면 각각의 docker 에 network bridge 가 기본으로 만들어진다. 각각의 bridge 는 각기 다른 네트워크 대역으로 통신이 불가능하다. (단, 외부 포트를 빼서 해당 포트로 통신하는것은 가능하겠지..) 그럼 각 docker 를 만들때마다 생성되는 bridge 를 기존에 생성되어있던 브릿지를 사용하면, 두 도커간의 통신이 쉽게 가능하다. 각 컨테이너간의 통신을 괜히 외부 port 를 열어서 보안에 취약하게 하지 말자~! docker-composed.yml 예제로 살펴보자. A..

SW 개발 2020.09.22

[docker] container 의 ssh 키 관리 (host 의 ssh-key 정책 사용)

개발용 서버로의 docker 활용 현재는 여러 시스템에서의 임베디드 개발을 주로 하고있다. 추후에 다시 작성하겠지만 도커로 개발환경을 구축하고 관리하면 엄청난 이점들이 있습니다. (여러가지 편의성과 확장성, 이식성 등등..) git 을 사용하기 불편? 한번에 동시에 여러 시스템을 개발 하면서, 여러 컨테이너를 사용하다보면, 매 사용시마다 컨테이너의 ssh-key 를 각각 git 에 등록해야한다. (컨테이너 제작시 마다 mac 이 달라지며, 각 컨테이너에서 git 접근시 ssh-key 를 생성 및 접근해야함). 때문에 관리하는 컨테이너가 많아질수록 ssh-key 관리가 엄청 복잡하고 귀찮다. ssh-key 공유를 통한 컨테이너의 git 접근 그래서.. 해당 방법을 추천? 한다. 물론 보안상으로는 해당 방법..

SW 개발 2020.09.22

[git] github release api 사용 자동업로드 하기 (python 예제)

사용자 경험 준비 : api key 발급받기 python 예제소스 코드의 공통부분 release tag 만들기 타겟 release tag 에 파일업로드하기 full source code 사용자 경험 다음의 경우를 위해서 github release page 를 사용하였다. 내부에서 jenkins 자동화 빌드후, github release 페이지에 자동으로 업로드 사실은말이지... 외부업체에 보드이미지를 제공해야할일이 있었다. jenkins 뿐만아니라, 모든 사내서버가..내부 ip 로만구성되어있으며 보안정책상 포트등도 못뚫는 상황. 하지만.. 외부 업체에 이미지를 매번 보내야하는 이슈발생. 매번 이미지를 압축하여 메일로 보낼것인가? 난 이짓은 도저히 못하겠다. 그래서 github private 로 프로젝트를..

SW 개발 2020.09.17

[오드로이드 설정] mariadb docker 수동 설치 (Dockerfile 직접작성)

기존 mariadb docker container 의 문제점 그럼 매뉴얼 하게 만들자. Dockerfile docker-compose.yml 구성 entrypoint.sh 마치며.. 아래내용은 odroid c2 기준으로 설명을 한 자료입니다. 하지만 다른 오드로이드 보도나 다른 sbc 에서도 유사한 문제가 있을시, 본 포스트와 동일하게 적용이 가능할것이라고 생각됩니다. 또한, 기본적인 docker 를 사용하는 방법을 익힌 사용자 기준으로 설명됩니다. (이번기회에 docker 에 대해서 같이 공부해보시죠 ㅠㅠ) 기존 mariadb docker container 의 문제점 오드로이드에서는 제공되는 mariadb(https://hub.docker.com/_/mariadb) 의 docker 를 사용할수있다. (..

SW 개발 2020.09.08

[linux Kernel] linux kernel 에서 Unable to handle kernel 출력후 멈춤증상

linux kernel 에서의 에러 증상 kernel panic 처리 이슈 kernel panic 처리후에도 멈춰있다면? 해결방법 linux kernel 에서의 에러 증상 부팅도중.. 혹은 동작중에.. Unable to handle kernel 메시지가 뜨면서 아예 멈춘다면 다음의 내용을 확인해볼것 kernel panic 처리 이슈 만약 해당 메시지이후에 정보가 더 나오고... 멈춰있다면 panic 에대한 처리가 안되어있는것이다. https://www.techrepublic.com/blog/linux-and-open-source/auto-reboot-linux-after-a-kernel-panic/ 링크를 참고하여 세팅하도록하자 kernel panic 처리후에도 멈춰있다면? 아마도 panic 에 대한 정..

SW 개발 2020.06.26

[git] gitlab CE 에서 github 로 자동백업하기

gitlab CE 를 github 로? github 로 백업? gitlab ce (무료버젼)의 백업옵션하기 (repo mirroring) github의 api key 받기 gitlab ce 의 mirror 옵션 켜기 설정하기 사용하기 gitlab CE 를 github 로? gitlab CE 를 회사에서 세팅하고 쓰고있다. 백업을 위한 방법을 검토하던중.. github 쪽으로 mirroring 하기로 결정. 해당 내용을 정리한다. github 로 백업? 최근 github 의 pravate 의 용량이 무제한으로 늘어났기 때문에 훌륭한 백업수단이 되었다. 물론 회사에서 쓰는 코드들이 github 와 같이 외부로 빠져나간다는것이 불안한 요소일수도있긴 하다. 하지만 github 정도의 서비스에 코드를 올리는것에 ..

SW 개발 2020.06.24

[uboot] uboot 에서 env set 명령어로 변수 세팅하기

env set 명령어 uboot 커맨드라인에서 env 을 세팅하기위해서는 다음과 같은 명령어를 사용한다. env set [변수명] [변수값] 이때의 변수값은 " 를 이용하여 공백이 포함된 내용을 작성하면된다. 다음과 같이 사용한다. env set variable1 "varable value1 value1 value1 value1 value1 value1 " env set variable2 "varable value2 value2 value2 value2 value2 value2 " 위와 같이 설정한 후에, savee 명령어를 사용하여 저장하면된다. uboot 변수값에 대한 저장 위와같이 할때, 문제가.. 다른 uboot 변수에 대한 내용을 참조할때는 ' 을 이용하여 설정해야한다. 간단하게 예를들면 다음과..

SW 개발 2020.03.25

[uboot] Warning - bad CRC, using default environment 에러 발생에 대한 고찰

uboot 관련 개발시 문제가 발생한내용을 디버깅한다. 문제 증상 문제원인들 문제원인 1 : 실제 env 영역 깨짐 문제원인 2 : env 영역없음 env 영역확인하기 문제원인 3 : env crc 안맞음 (mkenvimage 명령어관련) 참고사항 UBOOT 에서의 env image / env setting 주소, 크기관련 문제 증상 uboot 부팅시 다음과같은 메시지가 발생한다. Loading Environment from MMC... *** Warning - bad CRC, using default environment 말그대로, 영역의 저장된 env setting 파일을 읽었으나(혹은 읽지 못하여) 에러가 발생, 기본 hard coding 된 uboot env 를 사용 한다는것이다. 해당 로그가 발..

SW 개발 2020.03.20

[shell] shell script 네트워크 인터페이스 및 통신감지하기 예제

사용 시나리오 쉘스크립트 작성 사용 시나리오 다음과 같은 사용케이스에서 문제가 발생하여.. 네트워크 인터페이스를 감시할일이 생겼다. 네트워크 인터페이스가 가끔 올라오지 않음. 네트워크 동작도 안됨. 그럴때 감지하고, 재부팅 시키고싶다. 주기적으로 네트워크를 감시하고 해당내용을 로그도 남기고, 재부팅하고싶다. 쉘스크립트 작성 다음과 같이 동작하게 한다. 그냥 8.8.8.8 로 핑을 날린다. 핑이 3회이상 실패할시, 특정동작을 하기하자. 리부팅을 혹은 로그를 남긴다. ifconfig 를 이용하여 네트워크 상태를 남긴다. 위와같이 스크립트를 동작하게 하기위해서 다음의 스크립트를 작성. #!/bin/bash TARGET_IP=8.8.8.8 var=0 DATE_WITH_TIME=`date "+%Y%m%d-%H%M..

SW 개발 2020.03.17
반응형