2016-11-08 4 views
0

큰 이미지로 작업 할 때 발생하는 문제는 Docker가 컨테이너를 만들 때 Docker가 모든 데이터를 복사한다는 것입니다. 따라서 Docker VM에서 25GB 이미지와 컨테이너를 사용하려면 컨테이너 당 약 50GB가 필요합니다. 내가 뭔가 잘못하고 있나, Docker가 항상 그런 식으로 기능합니까? 그렇다면 왜? E. g. Git에서는 repo를 복제 한 후 코드를 직접 사용할 수 있습니다. 대부분의 경우 분기 또는 기타 사본을 하나 더 만들 필요가 없습니다.docker가 이미지 및 이미지 컨테이너를 VM에 보관하는 이유는 무엇입니까?

추신 : 다른 버전의 MySQL 데이터베이스를 유지하고 싶습니다. (현재 개발자가 독점적으로 변경하고 너무 자주 발생하지 않기 때문에) 빠른 복원을 원하기 때문에 (유일한 방법은 MySQL은 * .sql 파일에서 복구가 가능하며 DB를 자유롭게 사용하려면 7 시간이 필요합니다.

+2

많은 양의 데이터가있는 경우 볼륨을 사용해야합니다. 이미지는 작아야하며 https://docs.docker.com/engine/tutorials/dockervolumes/을 읽고 알파인이나 비트나미 (데비안 라이트)를 기본 이미지로 사용하면 이미지가 작아집니다. – user2915097

+0

@ user2915097이 (가) 사용 사례를 추가했습니다. 질문에 – Yurii

답변

0

MySQL 데이터베이스는 최소한 공식 이미지를 사용합니다. 당신은 두 개의 컨테이너가 다른라는 이름의 볼륨을 사용하여 같은 이미지를가는 가지가 필요합니다

docker create volume devdb 
docker run --name devdb -v devdb:/var/lib/mysql -p 3306:3306-e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql 

그리고 또 다른 당신을 위해 :

docker create volume mydb 
docker run --name mydb -v mydb:/var/lib/mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql 

내가 두려워하는 고정 표시기 복사 새 컨테이너에 모든 이미지 내용. 그러나 나는 그것에 대해 확신하지 못한다.

감사합니다.

관련 문제