2017-01-20 1 views
0

laravel 프로젝트 및 nginx에 대한 도커 작성 작업을하고 있습니다. Docker 작성, 컨테이너 외부의 파일 연결

내 고정 표시기-compose.yml입니다 :

version: '2' 
services: 
    backend: 
    image: my_image 
    depends_on: 
    - elastic 
    - mysql 
    mysql: 
    image: mysql:8.0.0 
    nginx: 
    depends_on: 
    - backend 
    image: my_image 
    ports: 
     - 81:80 

그래서, 내 Laravel 프로젝트는 컨테이너 백엔드에, 나는 명령을 실행하는 경우 : 괜찮아 docker-compose up -d을, 모든 컨테이너를 만들고 내 프로젝트가있다 포트 81에서 실행 중입니다.

제 문제는 컨테이너 백엔드의 Laravel 프로젝트에 데이터베이스 로그인, 암호 및 기타 내용이있는 .env 파일이 있습니다.

docker-compose up 이후에이 파일을 편집하려면 어떻게해야합니까? 컨테이너에서 직접 작성하는 것은 좋은 생각이 아닙니다. 컨테이너 외부의 파일을 고정 장치로 연결하는 방법이 있습니까?

감사합니다 이것에

답변

1

한 가지 방법은 당신이 컨테이너에 내보낼 키 값 쌍의 목록을 넣을 수 있습니다 거기에서 고정 표시기 - compose.yml의 'env_file'지시어를 사용하는 것입니다. 예 :

web: 
    image: nginx:latest 
    env_file: 
     - .env 
    ports: 
     - "8181:80" 
    volumes: 
     - ./code:/code 

그런 다음이 env 값을 사용하도록 응용 프로그램을 구성 할 수 있습니다.
값을 변경하거나 새 값을 추가하는 경우 컨테이너를 다시 만들어야합니다 (docker-doose는 & & docker-up up -d 작성).

관련 문제