2016-10-31 3 views
3

docker-compose를 통해로드되는 이미지에 working_dir 파일이 실제로 무엇을하는지 궁금합니다. 샘플 고정 표시기-compose.yml 파일은 다음과 같이docker-compose yml 파일에서 working_dir 태그의 의미

dev: 
    extends: 
     file: common.yml 
     service: workspace 
    volumes: 
     - $ATOMSPACE_SOURCE_DIR:/atomspace 
     - $COGUTILS_SOURCE_DIR:/cogutils 
     # Uncomment the following lines if you want to work on moses 
     # - $MOSES_SOURCE_DIR:/moses 
    working_dir: /opencog # This is the same as the volume mount point below 
    links: 
     - postgres:db 
     - relex:relex 

postgres: 
    image: opencog/postgres 
    # Uncomment the following lines if you want to work on a production 
    # system. 
    # NOTE: The environment variable `PROD` is set `True` then the entrypoint 
    # script in opencog/postgres does additional configurations. 
    # environment: 
    #  - PROD=True 

relex: 
    image: opencog/relex 
    command: /bin/sh -c "./opencog-server.sh" 
+0

'docker-compose.yml'이 있긴하지만 여전히 이미지를 만들기위한'Dockerfile'이 있습니다. 맞습니까? – Rao

답변

2

working_dir이 만들어지고 컨테이너의 작업 디렉토리를 설정합니다. --workdir 플래그가 docker run 인 것과 같습니다.

+0

은 working_dir에서 유지되는 내용입니까? 나는 작은 실험에서 그렇게 생각하지 않는다. 이미지를 시작한 후 특정 디렉토리로 변경하는 것일까 요? –

+0

예, 모든 것이 디렉토리를 변경합니다. 디렉토리가 아직 존재하지 않으면 작성됩니다. 그것은 아무것도 유지하지 않습니다. 'volumes'을 사용하여 데이터를 지속시킬 수 있습니다. – dnephin

+0

dockerfile의 WORKDIR과 동일하거나 대체됩니다. 또는 dockerfile이 제공되지 않고 docker-compose 파일의 docker hub 이미지에서 직접 인스턴스화하는 경우에만 사용됩니까? – mtpultz

관련 문제