도커

reallt·2023년 6월 19일

TIL

목록 보기
7/21
post-thumbnail

도커

  • 도커 compose

    • 도커를 여러개 병합해서 사용하는 명세서
    • 도커 compose로 index.html과 스프링 앱 동시에 실행하기
      • 위는 index.html을 실행하기 위한 dockerfile이다. 호스트의 index.html을 컨테이너의 /usr/local/apache2/htdocs/index.html에 삽입한다.
      • 위는 스프링 앱 app.jar을 실행하기 dockerfile이다. 해당 ENTRYPOINT는 스프링 앱을 실행하기 위해 반드시 있어야 한다.
      • 그 후 도커 compose를 해당 두 파일을 각각 포함하는 폴더 상위 폴더에 생성하여 실행한다.
  • 도커 swarm

    • 여러 개의 서버와 컨테이너 관리를 쉽게 할 수 있는 클러스터링, 스케줄링 툴
    • Manager : 클러스터의 상태를 관리한다.
      • docker swarm init 으로 매니저를 지정한다.
      • 그러면 docker swarm join --token " ~~~ " 같은 형태로 토큰을 지정해주는데 이 명령어를 다른 셸에 입력하면 그 셸은 worker가 된다.
    • Worker : 도커에서 일반적으로 컨테이너를 실행하는 노드이다.
    • docker stack deploy -c docker-swarm.yml 2apps
      • 위 명령어로 여러개의 스택들(컨테이너들)을 docker-swarm.yml라는 명세표와 2apps라는 이름으로 배포하겠다.
    • 위 사진은 도커 swarm의 한 예시이다. 두가지 엔진을 각각 배포한 모습이다.

    docker stack deploy

  • mariadb와 wordpress 컨테이너를 deploy하여라

    • 기존의 세팅대로 db-Dockerfile과 wp-Dockerfile을 생성한다.

    • 위와같은 docker-compose파일을 만든다.

      • placement: constraints: : 어느 한쪽 노드에만 보여줄지를 선택
      • replicas: : 해당 이미지를 여러개 만듬
    • 위의 wp-Dockerfile과 같은 내용을 worker노드에 똑같이 만든다.

    • docker stack deploy -c docker-compose.yml wp 명령어를 통해 배포한다.

profile
백엔드 마스터!(지망생)

0개의 댓글