dev/docker

[docker] 맥북에서 docker-sync 사용하기..

아디봉 2021. 2. 17. 00:19

맥북에 docker 설치 후 오라클 설치해서 eclipse로 접속하니 너무너무 느렸다. 

검색해보니 docker-sync  ( docker-sync.readthedocs.io/en/latest/getting-started/installation.html )

즉 폴더를 공유해서 속도를 높이는 기법을 쓰는 것으로 보인다. 

 

전체적인 내용을 요약해보면 java(1.8)로 개발된 전자정부 프로젝트를 mac에서 사용해야 했고, 오라클(11g)을 docker에 올렸다.

속도가 너무느려서 뮤타젠(docker 정식 말고 특정 버전이다. 버전이 너무 낮아서 다른 문제들이 많을 것 같아서 패스.) 사용이든, docker-sync사용으로 속도 개선을 해야 했다. 

사용은 docker-compose (내가 사용하고자 하는 컨테이너들을 docker-compose.yml 파일에 기록해서 실행할수 있음 )로 설정을 해서, 

내가 사용하는 docker 컨테이너 volume를 만들어서, docker-sync로 컨테이너가 사용 중인 폴더를 지속적으로 sync 하는 것 같다.

참고로 volume는  docker 이미지로 컨테이너 생성 시 volume옵션 안 주고 그냥 run 하면 컨테이너 종료 시 바뀐 정보는 초기화되니..

volume 옵션으로 저장할 폴더 지정해서 컨테이너 생성해주는 개념..

 

제대로 설정이 된 건지 좀 더 공부가 필요한 듯하다. 그리고 이환경으로 인터넷을 끊고 eclipse에서 실행하면 무진장 느리다. 

그건 또 왜 그런지.. 이유를 모르겠다. 이것 때문에 설정 쪽으로만 계속 계속 삽질했던 것 같다.

 

version: "3.2"
services:
  oracle11g:
    container_name: "oracle11g2"
    image: oracle11g:latest
    volumes:
      - type: volume
        source: ora_volume
        target: "/Users/bongju/project/dev/db/data"
        consistency: "delegated"
    ports:
      - 1521:1521
      - 8080:8080
    restart: always
networks:
  law-network: 
    driver: bridge
    ipam:
      driver: default
      config:
        - subnet: 172.26.0.0/24
volumes:
  ora_volume:
    driver: local
    driver_opts:
      type: none
      device: "/Users/bongju/project/dev/db/data"
      o: bind

docker-compose.yml

 

version: "2"
options:
  verbose: true
  project_root: "/Users/bongju/project/dev/db/data"
syncs:
  ora_volume:
    src: "/Users/bongju/project/dev/db/data"
    sync_strategy: 'native_osx'

docker-sync.yml

 

docker-compose 검사

 

docker-sync 데몬실행

 

docker-compose 백그라운드 실행

갑자기 명령어가 기억이 안 나면 docker --help

또는 docker-compose --help

또는 docker-sync-daemon --help

이런 식으로 입력하면 된다. 

 

 

 

참고사이트

medium.com/myrealtrip-product/docker-%EB%A1%9C-%EC%BE%8C%EC%A0%81%ED%95%9C-%EA%B0%9C%EB%B0%9C%ED%99%98%EA%B2%BD-%EA%B5%AC%EC%B6%95%ED%95%98%EA%B8%B0-e484b80947a3