어제 도커를 올리는 데까지 성공했기 때문에 스크립트를 짰다. 어제 했던 고민은 호눅스가 수업시간에 말해준 것들로 모두 해결이 됐다. 도커로 파일을 복사할 수 있으면 더 이상 설계할 것은 없는 것 같아 바로 진행했다.
웬만하면 스크립트로 진행해보고 싶어 파워쉘 스크립트로 만들어봤는데, 생각보다 지원되는 기능들이 많아 놀랬다. 하지만 100만 번의 루프를 난수를 생성하며 돌리니 너무 느렸기에 멀티 스레드를 고려해봤는데, 구현이 난해하고 이해가 잘되지 않았다. 어느 부분에서 프로그램이 멈추는데 디버깅도 잘되지 않았다. 시간이 많이 지체되어 써본 것에 의의를 두고, 빌드 스크립트를 쉽게 작성할 수 있는 js로 바꾸어 시작했다. 문법만 바꿔서 옮긴 것이라 크게 어렵진 않았는데, js는 병렬 프로그래밍을 Promise
객체를 이용하여 돌리는 것이 신기했다. 엄청 편했다.
npm으로 만든 파일과 쉘 명령어를 묶었다. 파워쉘에서 echo
같은 기본적인 명령어는 alias 처리를 해놔서 배쉬에서도 실행 가능한 스크립트가 만들어졌다. 인자를 받고 싶어 찾아보다 알아낸 사실인데, node의 패키지 중에 프로세스 생성 같은 시스템 콜 api도 있었다. 실행파일로 빌드할 수도 있었는데, 살짝 충격을 받았다.
다 만들고 jdbc로 도커에 접속해보려는데, 잘되지 않았다. nat방식이기 때문에 포워딩을 해줘야 한다고 하는데 기존 컨테이너의 포트를 변경하는 기능은 제공하지 않는다고 한다. 네트워크를 따로 만들면 된다는데, 일단 이미지 커밋이 어떤 방식인지 궁금해 커밋을 하고 다시 컨테이너를 띄우는 방식으로 진행했다. 왜 그런지 모르겠는데, 세팅은 그대로지만 db가 다 날아갔다. 좀 찾아보고 질문을 해봐야 할 것 같다. 아무튼, 목표인 jdbc 연결까지는 완료했는데 중간에 시간이 지체되어 compose까지 살펴보지는 못했다. 그래도 이것저것 새롭게 해본 것이 많아 크게 손해 본 느낌은 아니다. compose는 여유가 생기면 먼저 찾아봐야 할 것 같다.
Powered with by Gatsby 2.0