programming/docker
[docker] docker sudo 없이 실행하는법
docker 사용하려면 root 권한이 필요함 그래서 매번 sudo docker ps 이런식으로 사용함 여기서 sudo를 빼기 위해서 현재 사용자 ( 나는 ubuntu ec2를 사용하고 있어서 사용자가 ubuntu이다)를 docker 그룹에 넣어주면된다 넣어주고 도커 다시시작하고 root계정으로 바꿨다가 다시 ubuntu 계정으로 바꾸면 된다 *reboot 시키거나 하면 안됨 ec2 주소 바껴서 실제 운영중이면 좀 안좋은 상황이 올 꺼같다 $ sudo usermod -aG docker ubuntu // docker 그룹에 unbuntu 유저를 추가 $ sudo service docker restart // 도커 재시작 $ sudo su - //root계정으로 변경 $ su - ubuntu // 다시 ub..
docker 컨테이너에 몽고디비 설치하여 사용하기
도커docker 컨테이너에 몽고디비 설치하고 시작하기 docker pull mongo //허브에서 mongo이미지 받기 docker images //이미지 받아졌나 확인하고 docker run --name mongodb-container -v ~/data:/data/db -d -p 27017:27017 mongo //그 이미지로 mongodb-container라는 이름의 컨테이너 생성하고 run하기 // -v ~/data:/data/db 이 의미는 -v이거는 볼륨이라는 의미이고 로컬컴퓨터의 data디렉토리 와 컨테이너의 /data/db디렉토리를 연결시키는것. ( :(클론) 뒤에는 컨테이너의 디렉토리) 이렇게 안하면 컨테이너가 삭제될 때 디비의 데이터가 다 사라지게된다 그리고 리눅스에서 ~/이 의미는 현제..

[docker] docker compose사용하여 CI/CD 구현
용어CI : 지속 통합CD : 지속 배포 작동 순서어떤 프로그램을 버젼업등 손 좀 보고 github에 push하면github action이 도커 이미지를 만들고 그걸 도커허브에 push하고 aws등 클라우드 컴퓨터에 접근해서 위의 해당 도커 이미지를 docker- compose로 실행시킨다.이렇게 하면 개발자는 git에 push만하면 그 다음 단계인 이미지 빌드랑 배포는 워크플로우 파일에 작성된데로 진행된다 이걸 하기위해서 프로잭트 폴더 안에위의 작업이 명시된 yaml파일(워크플로우)을 작성해야된다. 아래가 이번 프로잭트 때 작성한 yaml파일이고 이 파일은 반드시 .github폴더안에 workflows폴더안에 있어야한다..github/workflowsname: ci-pipelineon: push: ..