2017-12-21 5 views
0

내부의 파일을 편집 한 후 나는에서 고정 표시기 이미지를 복제 변경되지 않습니다. 그러나/api 폴더 내의 파일을 편집하고 "도커 작성"을 다시 실행하면 포함 내용이 이전과 동일한 내용으로 유지됩니다.도커 이미지

는 이미 다음 명령하지만 행운

docker-compose rm --all 
docker-compose pull 
docker-compose build --no-cache 
docker-compose up -d --force-recreate 
+0

위는 이미지에서 컨테이너를 만들기위한 것입니다. 그만/시작 했니? –

답변

1

volume가 이미 docker-compose.yml에서 정의하는있는 경우 docker-compose 실행이, docker을 다시 사용하지 다시 만들기를 시도했습니다.

즉, 처음 실행할 때 api_datavolume이 생성 될 수 있습니다. 그 후에 도커가 데이터가 변경되지 않은 동일한 volume을 다시 사용했습니다.

이 변경된 볼륨을 docker이 다시 만들 수 있도록 api_data 볼륨을 제거한 후에 다시 시도하십시오.

먼저 명령을 사용하여 volume 이름을 확인하십시오.

$ docker volume ls 

모든 volumesdocker 호스트에서 생성 된 명령 목록입니다. 볼륨의 이름은 docker-django-nginx-uwsgi-postgres-tutorial-api-data 또는 뭔가와 같이 api_data을 포함하는 문자열입니다.

그런 다음 명령을 사용하여 삭제하십시오. 다른 방법으로

$ docker volume rm $(volume-name) 

# $(volume-name) should be the volume name from docker volume ls 

, 사용자가 직접 volume에서 /api을 변경할 수 있습니다.

명령을 사용하여 volume 마운트 경로를 확인하십시오.

출력에서 ​​
$ docker volume inspect $(volume-name) 

, 당신은 volume가 장착되는 곳이다, Mountpoint을 볼 수 있습니다.

$ su     # You need root permission to access mount-directory 
$ cd $(Mountpoint) 
$ ls 

# Change file you want 
+0

"Error : No such volume : api_data"라고 말합니다. –

+0

관련 컨테이너와 이미지를 모두 삭제했습니다. –

+0

@Gary Ng 'containers'와'images'를 삭제해도 볼륨은 살아 있습니다. 볼륨 이름을'docker volume ls'로 확인한 다음,'docker volume rm $ (volume_name)'으로 삭제하십시오. – SangminKim