본문 바로가기
반응형

Docker14

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 으로, 하나를.. 2024. 3. 7.
Docker Compose - 오류시 자동 재시작 Docker는 시스템 재시작 혹은 오류로인해 실행중인 컨테이너가 멈출경우 이를 어떻게 처리할 지 --restart라는 옵션을 이용해서 정의할 수 있다. --restart를 이용하여 사용할 수 있는 옵션은 다음과 같다. no: 컨테이너가 자동으로 다시 시작되지 않음 on-failure[:max-retries]: 0이 아닌 종료 코드로 종료되는 경우 컨테이너를 다시 시작하고 Docker 데몬이 컨테이너를 다시 시작할 수 있는 최대 시도 횟수를 진행함 always: 컨테이너가 중지되면 항상 다시 시작 unless-stopped: 컨테이너가 임의로 또는 Docker 데몬에 의해 중지되지 않는 한 항상 컨테이너를 다시 시작 시스템에서 사용하기 적절한 옵션은, on-failure이 유용하다. on-failure와 .. 2024. 2. 29.
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 이미.. 2024. 2. 29.
Docker - Mariadb 실행 요점 정리, 볼륨 구성등 실행할때 마다 웹 검색해서... 어떻게 하면 좋을까 싶어 정리해본다. 가장 기본적으로 Mariadb를 실행하기 위해서는 Password 설정을 해주어야 한다. 아래 입력이 가장 짧게 진행하는 것이다. 여기에 -p 옵션을 이용해서 포트를 호스트에서 연결할 수 있도록 하면 기본적인 환경 구성은 완료되었다고 할 수 있다. docker run --detach --name mariadb -p 3306:3306 --env MARIADB_ROOT_PASSWORD=password! mariadb:latest 실행할 때 필수로 사용해야 하는 옵션에 대해서 알아보도록 하자. --detach: docker run 명령은 기본적으로 백그라운드 실행을 하지 않아 터미널에 실행상황을 출력하게 된다. 따라서 백그라운드 실행을 하고.. 2024. 2. 23.
Docker - detach/attach(백그라운드/포그라운드) 이해 이거를 정리해야 하나 싶다가도, 필자 역시 처음으로 옵션을 찾아보고 이해하는데 도움이 되고자 여기에 정리해본다. 가장 쉽게 본다면, 아래 표와 같이 정리 할 수 있다. Docker 명령 백그라운드 실행 (Detached mode) 명령(기본): start, Docker 옵션: --detach(-d), Docker Compose 옵션: -d 포그라운드 실행 (Attached mode) 명령(기본): run, Docker 옵션: --attach(-a), Docker Compose 옵션: 없음 도커는 기본적으로 detach와 attach 모드로 사용하는 명령마다 기본 실행모드가 정해진다. 이를 무시하고 정해진 모드로 동작하도록 구성할 있는 옵션이 --detach/--attach 옵션이다. 포그라운드 실행(At.. 2024. 2. 23.
Docker - Storage path, 저장 위치 변경 Docker의 컨테이너와 이미지들은 파일 기반으로 저장되어 관리된다. 이 기본 위치는 /var/lib/docker/ 에 위치된다. 만약 컨테이너와 이미지 들이 많아진다면, 별도의 스토리지를 이용해서 용량을 관리하는 것이 좋다. 그럼 기본 저장 위치를 변경하는 방법에 대해서 알아보도록 하겠다. 가장 좋은 방법은 data-root 라는 기본 저장 위치 경로를 변경해주는 방법이다. 이를 위해서는 deamon.json(없는 경우 신규로 생성)로 관리하는 방안으로 docker 서비스를 중지한 이후, /etc/docker/ 하위에 아래와 같이 작성해 주면 된다. (필자가 지정할 신규 경로는 /data/docker 이다) $ sudo service docker stop $ sudo nano /etc/docker/da.. 2024. 2. 23.
Docker - 컨테이너에서 vi(vim) 편집기 사용하기 도커 이미지에서 긴급하게 작업을 진행해야 하는경우 vi 편집기를 사용해야 할 때 유용하다. 먼저 현재 자신 컨테이너의 정보를 확인한다. docker ps $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7c0bd248fced /asecurity/test:latest "bash -c /test…" 3 days ago Up 3 days test 이후 아래 명령을 이용해서 도커 컨테이너로 들어간다. 마지막에 bash를 입력해줘야 기본 명령어를 사용할 수 있다. docker exec -it 7c0bd248fced bash 성공적으로 도커 이미지에 들어왔다면 프롬프트를 확인할 수 있다. 이제 vi 에디터를 설치하도록 하자. apt-get upd.. 2024. 2. 23.
Docker - Certbot을 이용한 Lets encrypt 인증서 발급 및 관리 Letsencrytpt는 Docker를 이용해서 쉽게 인증서를 제공하는 기능을 가지고 있다. 1. letsencrytpt 생성하기 sudo docker run -it --rm --name certbot -v '/etc/letsencrypt:/etc/letsencrypt' -v '/var/lib/letsencrypt:/var/lib/letsencrypt' certbot/certbot renew --manual --preferred-challenges=dns -d 'domain.site' 인증서 생성을 시작하면 몇가지 확인작업을 거치는데, 필자는 dns의 레코드로 갱신하는 방법을 선택하여, 아래 _acme-challenge라는 값을 생성하여 모자이크 값을 입력해줘야 정상적으로 인증이 완료된다. 2. lets.. 2024. 2. 19.
Docker - CLI, Dockerfile 생성부터 서버에서 실행하기 1. Docker 빌드 하기 이제 만들어진 Dockerfile을 통해 Docker Image를 빌드할 차례이다. 아래와 같이 build 명령을 이용해서 손쉽게 빌드를 진행할 수 있다. image tag를 이용해 빌드된 이미지를 구분할 수 있으므로, 적당한 이름을 지어주도록 하자. #docker build -t (image tag) . 2. Docker 업로드 하기 만들어진 이미지는 docker image ls 명령으로 확인이 가능하다. Docker Hub에 로그인한 이후 docker push 명령을 통해서 내가 방금 만든 이미지를 업로드 할 수 있다. Docker Hub는 계정내 디텍토리 유형으로 이미지를 관리할 수 있기 때문에 업로드할 경로를 지정하도록 하자. #docker login #docker i.. 2024. 2. 18.
반응형