도커

reallt·2023년 6월 20일

TIL

목록 보기
8/21
post-thumbnail

실습 - tomcat과 mysql stack deploy 하기

  1. tom-Dockerfile과 sql-Dockerfile을 만든다.

  2. sql-Dockerfile는 기존과 똑같이 만든다.

  3. 그후 docker build로 image를 만든다. (run으로 컨테이너 생성후 exec로 잘 되는지 테스트)

  4. dbtest.jsp를 만든다.

  5. jdbc를 설치한다.

  6. 위와 같이 tom-Dockerfile을 작성한다.
    1) WORKDIR을 명령어 cd로 이해한다.
    2)

  7. 그 후 sql-Dockerfile과 같이 build후 run 한다. 이때 run 할떄 --link sql을 넣어준다.

  8. curl localhost:8088/dbtest.jsp로 연결이 되는지 확인한다.

  9. 확인 후 docker rm -f로 컨테이너를 전부 지워준다.

  10. docker swarm init으로 매니저를 지정해준다.

  11. 생성된 토큰으로 worker를 만들어준다.

  12. docker-compose.yml을 위와같이 만들어준다.

  13. /mysql 디렉토리를 만들고 docker stack deploy -c docker-compose.yml tom 를 통해 stack deploy를 해준다.

  14. curl localhost:8090/dbtest.jsp로 마지막 테스트를 한다.


  • <사설저장소 구축>
  1. aws에서 registry 인스턴스 생성 후 docker container run -d --restart=always -p 5000:5000 -v /registry:/var/lib/registry/docker/registry/v2 --name reg registry:latest 명령어로 reg 컨테이너를 만든다.

  2. docker run -d -p 5001:8080 --name registry_web --link reg -e REGISTRY_URL=http://<172로 시작하는 본인 인스턴스주소>:5000/v2 -e REGISTRY_NAME=<172로 시작하는 본인 인스턴스주소>:5000 hyper/docker-registry-web 으로 reg에 링크되는 registry_web 컨테이너를 만든다.

  3. 그리고 registry public 주소:5001로 접속하면 결과물이 뜬다.

  4. docker 셸로 와서 /etc/docker/daemon.json 파일을 위와 같이 작성한다.

  5. systemctl restart docker 로 재시작 해주고 docker tag dbimage:1.0 <본인 퍼블릭주소>:5000/dbimage:1.0, docker tag tomimage:1.0 <본인 퍼블릭주소>:5000/tomimage:1. 로 태그를 바꿔 재생성한다.

  6. 그후 docker login <본인 퍼블릭주소>:5000 으로 도커허브에 로그인 후 docker push 3.37.128.155:5000/dbimage:1.0 와 docker push 3.37.128.155:5000/새ㅡimage:1.0 로 푸쉬해준다.

  7. 기존 dbimage:1.0와 tomimage:1.0는 지워주고, docker compose down 후 up -d 를 하여 도커 컴포즈 생성 한 후 curl localhost:8090/dbtest.jsp로 연결되는지 확인한다.

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

0개의 댓글