SW 개발

[docker] container 의 ssh 키 관리 (host 의 ssh-key 정책 사용)

. . . 2020. 9. 22. 18:09
반응형

개발용 서버로의 docker 활용

현재는 여러 시스템에서의 임베디드 개발을 주로 하고있다. 추후에 다시 작성하겠지만 도커로 개발환경을 구축하고 관리하면 엄청난 이점들이 있습니다. (여러가지 편의성과 확장성, 이식성 등등..)

git 을 사용하기 불편?

한번에 동시에 여러 시스템을 개발 하면서, 여러 컨테이너를 사용하다보면, 매 사용시마다 컨테이너의 ssh-key 를 각각 git 에 등록해야한다. (컨테이너 제작시 마다 mac 이 달라지며, 각 컨테이너에서 git 접근시 ssh-key 를 생성 및 접근해야함). 때문에 관리하는 컨테이너가 많아질수록 ssh-key 관리가 엄청 복잡하고 귀찮다.

ssh-key 공유를 통한 컨테이너의 git 접근

그래서.. 해당 방법을 추천? 한다. 물론 보안상으로는 해당 방법은 안좋을 수가있으나, 내부 컨테이너간의 ssh-key 교환이 크게 문제될까 싶다;

그냥 간단하다. host 의 ssh key 를 공유하는 방법이다.

docker-compose.yml 을 구성시 다음과같이 한다.

version: '3'
services:
  your-service-d:
    image: your-service-d
    container_name: your-service-d
    build:
       context: .
       dockerfile: ./Dockerfile
    volumes:
      - /your_id/.ssh:/root/.ssh:ro
    restart: on-failure

  • 볼륨을 다음과 같이 추가한다.
    • /your_id/.ssh:/root/.ssh:ro
    • ro 파티션으로 하여, 컨테이너에서 수정하지 못하게 한다.

위와같이 할경우, 매번 컨테이너 생성시 마다. ssh key 를 만들고, 수정할 필요가 없다.

반응형