본문 바로가기

docker

[Docker] ReactJS Dockerizing하기 1. 서론 개발 중 ReactJS를 dockerize 한 적이 있다. Dockerfile과 docker-compose.yml 파일로 dockerize를 했는 데 docker-compose.yml 작성 중 ReactJS가 제대로 작동하지 않는 것을 확인하고 무슨 문제인가 한참을 찾았던 경험이 있다. 따라서, 나와 비슷한 문제를 겪고 있는 사람들을 위해 이 포스팅을 작성한다. 결론부터 말하자면 문제는 tty와 stdin_open 값을 true로 줘야한다는 점이다. docker-compose.yml에서는 이 두 값을 true로 설정하면 되고, Dockerfile만을 사용해서 build 후 run할 때는 -it 를 붙여주면 된다. 이유는 ReactJS가 실행될 때 terminal과 stdin을 사용하기 때문이다.. 더보기
[Docker] docker-compose (node.js, mysql) 실행 순서 동기화 1. 서론 대부분의 경우 AWS의 RDS나 워크스테이션의 DB 등을 사용하여 안정적인 DB 환경을 구축하지만, 테스트 용도나 간단한 프로젝트에서 DB를 구현할 때는 Docker를 이용할 수 있다. 이러면 MySQL의 데이터가 안정적이지 않다고 하는 사람들도 있지만, 그 문제는 volume을 연결하는 방식으로 해결할 수 있다. 그런데 막상 docker-compose로 node.js 서버와 mysql을 연결해보면 연결 오류가 나는 걸 알 수 있다. 그 문제는 바로 실행 순서 때문인데, mysql이 node.js 서버보다 느리게 구동되기 때문이다. 이를 위해 node.js가 mysql보다 느리게 구동되도록 동기화하는 작업이 필요하다. 이 포스팅에서는 node.js와 mysql을 예시로 들었지만 다른 언어의 서.. 더보기
[Docker] Ubuntu:18.04에서 Docker 설치하기 1. 서론 매번 공식 문서를 찾아서 설치하는 게 귀찮아서 블로그에 포스팅한다. 이게 제대로 동작되지 않으면 다시 공식 문서를 확인해서 수정할 예정이다. 혹시나 나처럼 귀찮은 사람을 위한 포스팅이다. 2. 설치 아래의 실행 명령을 순서대로 처리하면 설치가 완료된다. sudo apt-get update sudo apt-get install apt-transport-https sudo apt-get install ca-certificates sudo apt-get install curl sudo apt-get install software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - s.. 더보기
[Docker] Jenkins in Docker 1. 서론 jenkins는 배포 자동화를 구현할 때 인기 있는 CI/CD 툴이다. 글쓴이도 몇 달 전 AWS 배포 자동화를 구현할 때 jenkins를 써본 적이 있는 데, Docker in Docker로 jenkins를 구현해보면 어떨까 해서 진행해봤는 데 나름 괜찮은 것 같아 이 포스팅을 남긴다. 이 포스팅은 ubuntu18.04 버전에서 구현된 내용을 작성하는 것이므로 다른 os에 대해서는 조금씩 수정해서 쓰길 바란다. 2. 구현 방법 2-1. jenkins docker 실행 우선 jenkins의 docker image를 가져온다. 이후 8080 외부 포트로 젠킨스를 연동하고, volume을 공유한다. 여기서 docker.sock을 공유하는 이유는 도커 안에 있는 젠킨스가 내부 도커를 실행할 때 외부.. 더보기