[Docker] Create Docker Volumes for Persistent Storage

Docker containers are stateless by default. In order to persist filesystem changes, you must use docker volumes. In this lesson, we will go over how to copy files over to Docker containers, how to create volumes and copy data to them, and also how to mount remote folders for persisting updates.

First start nginx:

docker run -p 8080:80 --name web --rm nginx

Create a index.html with content just 'foo'

foo

Copy the index.html to nginx default html folder:

docker cp index.html web:/usr/share/nginx/html

Visit the website: localhost:8080, we should be able to see the 'foo'.

Now if we stop the container, and restart it:

docker run -p 8080:80 --name web --rm nginx

We can see the container is statless and we cannot see the word 'foo'.

To persistent the data, we need to add volume:

docker cp index.html web:/usr/share/nginx/html ## copy the index.html

docker run -p 8080:80 --name web --rm -v web:/usr/share/nginx/html nginx  ## add volume with -v

Now the data is saved and restart the container will still see the data.

原文地址:https://www.cnblogs.com/Answer1215/p/7219561.html