반응형 Linux88 Docker Swarm - Update(Rollout) 와 Rollback에 대해 Docker Swarm 명령을 이용하다 보면, 익숙하지 않은 명령어 3개를 확인 할 수 있다. 이 명령은 Docker Swarm 에서만 사용이 가능한 명령으로 서비스를 효과적으로 관리하는데 목적을 두고 있다. 그럼 Update(Rollout) 와 Rollback에 대해 공부를 진행하기 위해 서비스를 만들어 보자. Swarm Init Swarm 모드를 사용하기 위해서 가장 먼저 해야 하는 작업으로, Swarm 서버를 구성하는 것이다. Swarm 모드는 다중 물리적인 호스트를 연결하여 Resource를 관리할 수 있는 기능을 제공한다. Swarm 활성화는 다음 명령으로 진행할 수 있다. docker swarm init # 만약 사설 ip가 다중으로 가지고 있는 경우 --advertise-add 으로, 하나를.. 2023. 7. 24. Docker - 기본 배포 시나리오 Docker를 이용한 기본 배포 시나리오는 다음과 같이 4단계로 이루어진다. 이미지 다운로드 -> 컨테이너 실행 -> 포트 매핑(선택, 네트워크 연결) 로 진행된다. Docker의 모든 이미지는 이름과 태그(Tag)를 가지고 있고 이를 이용해서 이미지를 다운로드하게된다. 이미지 다운로드 이미지 다운로드는 기본적으로 docker login을 통해 로그인한 Docker Repo와 연결되고, 해당 저장소에서 이미지를 찾게 된다. docker image python:3.10-slim 그리고 이미지는 : 이후로 태그를 갖는데 태그는 아래와 같은 방식으로 사용되는 아래 문서를 참고하자. https://asecurity.dev/entry/Docker-Image-Alpine-Slim-Stretch-Buster-Jess.. 2023. 7. 17. Docker 기본 - 이미지, 컨테이너, 레이어, 가상화 Docker를 사용하는 이유는 사용해보면 쉽게 알 수 있지만, 여기에서는 사용하기 전, 즉 왜 필요한지에 대해서 얘기해보고자 한다. Docker는 현재 많은 업체에서 배포환경에 사용하고 있는 CI/CD 기술에 필수요소로 자리잡은 기술이라고 할 수 있다. 왜 이처럼 많은 사람들이 Docker를 사용하는 것일까? 만약 여러분이 웹 서비스를 개발한다고 생각해보자. 자신의 노트북에서 개발을 진행하고, 실제 서비스를 위해서 클라우드에 위치한 서버에 서비스를 올려야 할 것이다. 노트북에서 웹 서비스에서 개발할 때 개발 기간이 길고, 다양한 서비스를 활용했다면, 이를 클라우드 서버에도 동일하게 구성을 해야 한다. 그리고 만약 서비스를 업데이트한다면, 추가적인 구성들도 서버에 적용해야 할 것이다. 특히 환경 설정이 많.. 2023. 7. 12. Docker Compose - 재부팅/오유 자동 재시작 정리 Docker는 시스템 재시작 혹은 오류로인해 실행중인 컨테이너가 멈출경우 이를 어떻게 처리할 지 --restart라는 옵션을 이용해서 정의할 수 있다. --restart를 이용하여 사용할 수 있는 옵션은 다음과 같다. no: 컨테이너가 자동으로 다시 시작되지 않음 on-failure[:max-retries]: 0이 아닌 종료 코드로 종료되는 경우 컨테이너를 다시 시작하고 Docker 데몬이 컨테이너를 다시 시작할 수 있는 최대 시도 횟수를 진행함 always: 컨테이너가 중지되면 항상 다시 시작 unless-stopped: 컨테이너가 임의로 또는 Docker 데몬에 의해 중지되지 않는 한 항상 컨테이너를 다시 시작 시스템에서 사용하기 적절한 옵션은, on-failure이 유용하다. on-failure와 .. 2023. 5. 1. Github - 파일 완전 삭제 하기(revert, reset, git filter-branch) Github을 사용하다보면 부주의하게 중요한 파일(토큰 정보, 인증 정보)을 실수로 올리는 상황이 발생한다. 이때 서버의 히스토리까지 완전히 삭제해야 하기 때문에 일반적인 삭제 방법으로는 어려울 수 있다. 그래서 여기에서는 파일을 삭제하는 방법에 대해서 얘기해 보도록 하겠다. 상황은 보통 commit만 하고 아직 merge를 하지 않은 상황이나 이미 머지를 완료하였다 하더라도 동일하게 적용이 가능하다. 그럼 먼저 reset, revert 방법이다. 1. 리셋, 되돌리기(reset, revert) reset은 가장 쉬운 방법으로, 원격 레포스토리지에 적용한 commit을 초기화 하는 것이 가능하다. 아래 명령을 이용하면, 현재 가장 마지막에 커밋된 내용을 되돌려 준다. git reset HEAD^ 아래와 .. 2023. 4. 19. Docker - M1 no matching manifest for linux/arm64/v8 in the manifest list entries 에러 no matching manifest for linux/arm64/v8 in the manifest list entries 이 에러는 현재 Docker를 이미지 빌드 혹은 가져오때 플랫폼에 맞는 타입이 없어서 나타난다. 필자는 M1에서 실행하였는데, 실제 M1은 Linux는 아니기 때문에 발생한다. 보통 M1과 같은 일반적이지 않은 클라이언트를 사용시 발생한다. 현재 클라이언트의 종류를 확인하고자 한다면, docker version 명령으로 알 수 있다. 이를 해결하기 위해서는 --platform 옵션을 사용해서 호환이 가능한 플랫폼으로 직접 지정하여 적용하여야 한다. M1의 경우 Linux와 호환이 가능하기 때문에 linux/amd64 혹은 linux로 지정하면 사용이 가능하다. 이는 Docker 이미.. 2023. 4. 17. Ubuntu - Cron 로그 확인 Cron 로그는 기본적으로 Syslog에 포함되어 확인할 수 있다. syslog의 파일 위치는 /var/log/syslog 이며, grep을 이용해서 CRON(대문자)를 통해 실행 기록을 확인할 수 있다. # cat /var/log/syslog | grep CRON 위의 첫 로그를 보자면, "Mar 25 00:05:01"은 cron 작업이 실행된 시간을 나타낸다. "secu-dev-web"은 호스트 이름을 나타내고, "1953459"는 cron 작업의 ID이다. "root"는 cron 작업을 실행한 사용자 이름이고, "/usr/sbin/logrotate"는 실행된 명령을 나타낸다. 만약 /var/log/syslog 파일에서 로그를 찾을 수 없거나,별도로 로그를 분리하고자 한다면 다음과 같이 설정해서 가능.. 2023. 3. 25. Linux - [Amazon linux/Ubuntu] OS update 하기 Linux 도 그렇지만, 시스템 업데이트 방법은 크게 어렵지 않다. 많이 사용되는 Amazon Linux와 Ubuntu에 대해서 간단히 정리해 본다. Amazon linux Amazon은 CentOS 기준이기 때문에 Yum 패키지 관리자를 이용해서 패치를 진행할 수 있다. root 혹은 root 가 가능한 유저로 로그인 한 이후 sudo yum update를 통해 진행이 가능하다. sudo yum update 혹시 의존성 이나 오류로 인해 진행이 되지 않는 경우 추가적인 옵션을 이용할 수 있다. sudo yum update --skip-broken --setopt=protected_multilib=false --skip-broken 는 의존성에 문제가 있는 라이브러리에 대해서 예외 작업을 진행한다. --.. 2023. 3. 15. Docker - docker-compose로 다중 컨테이너 관리하기 Docker를 실제 사용하다보면, Database, Web, Memory Cache 등 다중 컨테이너로 사용해야 하는 상황이 종종 발생한다. 이때 만약 기본적인 Docker 명령을 활용한다면, 아래와 같이 여러 단계를 거쳐야 한다. 1. 먼저 함께 사용할 내부 네트워크를 생성하고, 2. 이후 Docker를 Run을 통해 실행할때 마다 네트워크 및 볼륨정보등 각각의 필요한 옵션을 지정해야 줘야 한다. 아래 명령은 myapp이라는 네트워크를 생성하고, Database의 저장을 위해 mariadb-data라는 볼륨용도의 컨테이너를 생성하여 Mysql 5.7버전의 컨테이너를 생성하는 명령이다. $ sudo docker network create myapp $ docker run -d --network my-ap.. 2023. 2. 21. 이전 1 2 3 4 ··· 10 다음 반응형