wjrmffldrhrl / goldenblock

블록체인교육 프로젝트
1 stars 1 forks source link

docker-compose git directory 지정 불가 #20

Open wjrmffldrhrl opened 4 years ago

wjrmffldrhrl commented 4 years ago

도커 이미지의 생성과 배포를 자동화 하기 위해 docker-compose를 적용하던 중 문제가 발생했습니다.

docker-compose.yml

version: "3.3"
services:
  db:
    image: mysql:8.0.17 
    container_name: goldenblock_db
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: "password"
    volumes: 
       - ./mysql:/var/lib/mysql                                                                                                                                                                                                               
    command: 
       - --character-set-server=utf8mb4
       - --collation-server=utf8mb4_unicode_ci   

데이터베이스의 볼륨을 생성하여 레포지토리 내부에 지정하려고 했으나 테스트 결과 레포지토리 내부로 경로로 지정하면 컨테이너가 실행이 되지 않습니다.

예로 아래와 같은 경우 동작이 잘 됩니다.

    # 레포지토리 외부 절대경로 지정
    volumes: 
       - /Users/jsh/mysql:/var/lib/mysql

   # 레포지토리 외부 상대경로 지정
    volumes: 
       - ../../mysql:/var/lib/mysql # 현재 디렉터리 /goldenblock/docker

그러나 아래와 같은 경우 동작이 되지 않습니다.

    # 레포지토리 내부 절대경로 지정
    volumes: 
       - /home/docker/goldenblock/docker/mysql:/var/lib/mysql

   # 레포지토리 내부 상대경로 지정
    volumes: 
       - ./mysql:/var/lib/mysql # 현재 디렉터리 /goldenblock/docker

기존에는 상대경로 지정이 안되는 것으로 생각했지만 ../../ 명령어도 동작하는걸 봐서는 레포지토리 내부에서 볼륨 지정이 되지않는 것 같습니다.

wjrmffldrhrl commented 4 years ago

절대경로로 지정하기 위해 ubuntu 컨테이너를 생성하고 그 위에 컨테이너를 다시 올리는 방식을 사용해보려고 했습니다.

https://hub.docker.com/repository/docker/wjrmffldrhrl/ubuntu

git, java, maven, docker, docker-compose가 설치된 ubuntu 18.04 버전을 컨테이너로 생성하고 그 위에서 docker-compose.yml을 빌드시켜봤더니 다음과 같은 오류가 발생했습니다.

root@21a43f9d10a4:/goldenblock/docker# docker-compose up -d
ERROR: Couldn't connect to Docker daemon at http+docker://localhost - is it running?

If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.