3rd chunk of `content/get-started/docker-concepts/running-containers/persisting-container-data.md`
d14e25169014e2c912fa0cfcc5bc175db82002e93529782d0000000100000c7c
4. In the PostgreSQL command line, run the following to create a database table and insert two records:
```text
CREATE TABLE tasks (
id SERIAL PRIMARY KEY,
description VARCHAR(100)
);
INSERT INTO tasks (description) VALUES ('Finish work'), ('Have fun');
```
5. Verify the data is in the database by running the following in the PostgreSQL command line:
```text
SELECT * FROM tasks;
```
You should get output that looks like the following:
```text
id | description
----+-------------
1 | Finish work
2 | Have fun
(2 rows)
```
6. Exit out of the PostgreSQL shell by running the following command:
```console
\q
```
7. Stop and remove the database container. Remember that, even though the container has been deleted, the data is persisted in the `postgres_data` volume.
```console
$ docker stop db
$ docker rm db
```
8. Start a new container by running the following command, attaching the same volume with the persisted data:
```console
$ docker run --name=new-db -d -v postgres_data:/var/lib/postgresql/data postgres
```
You might have noticed that the `POSTGRES_PASSWORD` environment variable has been omitted. That’s because that variable is only used when bootstrapping a new database.
9. Verify the database still has the records by running the following command:
```console
$ docker exec -ti new-db psql -U postgres -c "SELECT * FROM tasks"
```
### View volume contents
The Docker Desktop Dashboard provides the ability to view the contents of any volume, as well as the ability to export, import, and clone volumes.
1. Open the Docker Desktop Dashboard and navigate to the **Volumes** view. In this view, you should see the **postgres_data** volume.
2. Select the **postgres_data** volume’s name.
3. The **Data** tab shows the contents of the volume and provides the ability to navigate the files. Double-clicking on a file will let you see the contents and make changes.
4. Right-click on any file to save it or delete it.
### Remove volumes
Before removing a volume, it must not be attached to any containers. If you haven’t removed the previous container, do so with the following command (the `-f` will stop the container first and then remove it):
```console
$ docker rm -f new-db
```
There are a few methods to remove volumes, including the following:
- Select the **Delete Volume** option on a volume in the Docker Desktop Dashboard.
- Use the `docker volume rm` command:
```console
$ docker volume rm postgres_data
```
- Use the `docker volume prune` command to remove all unused volumes:
```console
$ docker volume prune
```
## Additional resources
The following resources will help you learn more about volumes:
- [Manage data in Docker](/engine/storage)
- [Volumes](/engine/storage/volumes)
- [Volume mounts](/engine/containers/run/#volume-mounts)
## Next steps
Now that you have learned about persisting container data, it’s time to learn about sharing local files with containers.
{{< button text="Sharing local files with containers" url="sharing-local-files" >}}