TL; DR 내 docker save/export
이 작동하지 않아 그 이유를 알 수 없습니다.Docker : 파일 시스템이 변경되지 않음
Mac 용 boot2docker를 사용하고 있습니다.
저는 Wordpress 설치 증명 개념을 만들었으며 BusyBox를 MySQL 컨테이너와 메인 파일 시스템 컨테이너로 사용하고 있습니다.
> docker run -v /var/lib/mysql --name=wp_datastore -d busybox
> docker run -v /var/www/html --name=http_root -d busybox
모두 busybox:latest
에 따라, docker ps -a
두 개의 컨테이너를 보여줍니다 실행 : 내가 사용하여 이러한 컨테이너를 만들었습니다. 여태까지는 그런대로 잘됐다. 그럼 각각의 데이터 컨테이너를 가리키는 워드 프레스와 MySQL 컨테이너를 만들 : 내 URL (boot2docker ip
)에 가서 새로운 워드 프레스 응용 프로그램이있다
>docker run \
--name mysql_db \
-e MYSQL_ROOT_PASSWORD=somepassword \
--volumes-from wp_datastore \
-d mysql
>docker run \
--name=wp_site \
--link=mysql_db:mysql \
-p 80:80 \
--volumes-from http_root \
-d wordpress
합니다. 나는 주제와 약간 심상을 추가해서 Wordpress 위치를 전진하고 설치한다. 그럼 docker inspect http_root
그리고 파일 시스템 변경 사항이 모두 있는지 확인하십시오.
나는 다음 변경 컨테이너를 커밋 : 내 새로운 이미지가 있는지 확인
>docker commit http_root evilnode/http_root:dev
>docker commit wp_datastore evilnode/wp_datastore:dev
. 그런 다음 이미지를 저장합니다 :
> docker save -o ~/tmp/http_root.tar evilnode/http_root:dev
> docker save -o ~/tmp/wp_datastore.tar evilnode/wp_datastore:dev
나는 tar 파일도 있는지 확인합니다. 여태까지는 그런대로 잘됐다.
여기 제가 조금 혼란스러워합니다. 내가 필요하면 완전히 모르겠지만, 나는 또한 컨테이너 수출 :
- http_root.tar (저장된 이미지)
- wp_datastore :
> docker export http_root > ~/tmp/http_root_snapshot.tar > docker export wp_datastore > ~/tmp/wp_datastore_snapshot.tar
그래서 지금 4 개 tar 파일을을 를 .tar (저장된 이미지)
- http_root_snapshot.tar (수출 컨테이너)
- wp_datastore_snapshot.tar (수출 컨테이너)
내가 다른 컴퓨터에이 tar 파일을 SCP 한 후 다음과 같이 구축 진행 :
>docker load -i ~/tmp/wp_datastore.tar
>docker load -i ~/tmp/http_root.tar
이미지 evilnode/wp_datastore:dev
및 evilnode/http_root:dev
가로드됩니다.
>docker run -v /var/lib/mysql --name=wp_datastore -d evilnode/wp_datastore:dev
>docker run -v /var/www/html --name=http_root -d evilnode/http_root:dev
만약 내가 제대로 이해하고
, 용기는 단지 내 이미지을 기준으로 작성되었습니다.물론 컨테이너가 있습니다. 그러나 내가 docker inspect http_root
이고 파일 위치가 /var/www/html
인 별칭이 지정되면 디렉터리가 완전히 비어 있습니다. OK ...
그렇다면 이미지에 파일 시스템 변경 사항이 포함되어 있지 않으므로 새 컨테이너로 가져와야한다고 생각합니다.나는이 작업을 수행 :
>cat http_root.snapshot.tar | docker import - http_root
은 내가 다른에 하나 개의 컨테이너에서 파일 시스템 델타 가져 오기를하고 있음을 의미하는 것으로이 문제를 이해합니다. 그러나
/var/www/html
별칭이 지정된 위치로 돌아 가면 같은 빈 디렉터리가 나타납니다.
변경 사항을이 컨테이너에서 내보내려면 어떻게해야합니까?
장면 뒤에서 컨테이너 볼륨은 호스트의 디렉토리 (또는 boot2docker, VM의 경우)에 바인드 마운트됩니다. 따라서 Docker에서 사용하는 Copy-on-Write 파일 시스템에는 포함되지 않으므로 이미지 레이어에 포함되지 않습니다. 따라서 그들은 '수출'또는 '저장'에 포함되지 않는다. – Andy